将整数转换为ascii值C++
Converting an integer to to ascii values C++
我正试图使用ascii将数字转换为字母,目前我可以一次转换一个字母:
编辑:我一直在研究的RSA加密的输出目前是整数的形式,我正在努力研究如何将其转换为原始输入的单词/句子。我几乎完成了比赛,但我完全被困在了最后一个"栏"上。我添加上下文是因为有评论问我为什么要这样做(或类似的话)。
编辑:如果在加密过程中我使用ASCII值-87,所有字母都是2位数,消除了一些ASCII字符是3个字母,一些是2个字母的问题,这会让问题更容易解决吗?
#include <string>
#include <iostream>
char returnChar(int x)
{
return (char) x;
}
int main()
{
std::cout << returnChar (119);
}
这将转换32-->w.
如何调整此函数以允许将"3232"-->"ww"或任何其他整数更改为ascii字符,例如"32242713"-->"word"。
编辑:我认为使用某种mod函数将其拆分为两个数字的块,然后将其转换为字符可能会奏效吗?
如何克服某些ascii字符有2位数,而某些字符有3位数的问题我认为这个问题已经如第二次编辑中所述得到了解决
如果你能看到我以完全错误的方式处理这个问题,你能给我一个可行的替代方法吗
感谢您的反馈。
你想要的是不可能的。你有几个选择:
-
将int更改为字符串,并在字符串中放入空格/其他字符:
std::string test = "119 119";
-
将总值转换为二进制,逐字节解析:
unsigned int test = 30583; // 119*256+119 char a = (test>>8)&0xff; char b = test&0xff;
-
以矢量形式传递数据,并一次转换一个元素:
std::vector<char> returnChar(const std::vector<int> &data){ std::vector<char> output; for(unsigned int i=0;i<data.size();i++) output.push_back(char(data[i])); return output; }
我可能会坚持第二种方法,因为这是一个疯狂的猜测,它不应该改变你实际生成数字的地方。
- C++,在int数组中输入字符串或字符会输出0,而不是ascii或error
- 为什么我的C++程序的程序集输出充满了 .ascii,没有汇编代码?
- 有没有办法通过使用十进制 ASCII 代码自动类型扣除来获取字符?
- 如何将字节数组元素替换为修改的十六进制 ASCII 符号?
- ascii 和 unicode 在处理级别有什么区别吗?
- 在C++中使用 ASCII 代码将输入从小写转换为大写
- 弄清楚如何在C++中将整数读入 ASCII
- 如何修复艺术ASCII,我点击一个字母就可以了,但输入一个阶段艺术出来了
- 使用指针将 ASCII 值添加到整数
- 用于 ASCII 的环绕式 C++
- RE2 不匹配非 ASCII 字符
- 打印从 0 到 255 的所有 ASCII 字符
- C++ 电话号码字母拨号程序 - 语法错别字?还是非 ASCII 字符?
- 无符号字符打印其 ASCII 值
- Windows 非 ASCII 文件路径
- 非 ASCII 文件路径窗口
- 我的程序将 26 个字母转换为 ascII 没有显示正确答案
- 我写的 ASCII 到二进制转换器C++向后显示二进制,如何使其正确显示?
- 如何从 QString 中包含的十六进制值中获取 ASCII 字符?
- C++扩展 ASCII 和负值