如何从ASCII转换为字符串或符号
How to convert from ASCII to string or symbol
我想将这个^
输出到控制台,但我想使用ASCII代码而不是值本身。有人知道怎么做吗?
该符号称为插入符号。ASCII码是十六进制的0x5e
(十进制=94)。
C版本:
printf("%c", 0x5e);
C++版本:
std::cout << static_cast<char>(0x5e);
这两种方法都假设您运行的系统中,默认字符编码为插入符号分配值0x5e
。
为了避免依赖这种假设,最好不要使用ASCII码,而是使用'^'
。
插入符号字符(^
)的十六进制值通常为0x5e(94以十进制表示)。
std::cout << static_cast<char> (0x5e) << " " << (char)94 << " " << 'x5e';
我的游戏形式上的输出:"^ ^ ^"
我写"最常见的是",因为标准不能保证使用什么整数值来表示某个字符,因此您不应该做您所暗示的事情。
尽管它可能会按照您想要的方式工作(因为大多数现代操作系统使用该值表示插入符号),但不建议使用该值。。如果它不在标准中,没有人能保证它在所有情况下都能在所有平台上工作。
标准是怎么说的
2.3/3字符集[lex.charset]
执行字符集和执行范围字符集基本执行字符集的实现定义超集和基本执行范围字符集价值观执行字符集的成员和其他成员是特定于区域设置的。
根据本页:http://www.ascii-code.com/
它是ASCII代码0x5e。
相关文章:
- 如何通过 JNI 将 C 字符串表情符号传递给 Java
- 字符串到无符号字符
- 尝试将字符串从文件读取到无符号字符向量中
- 将字符串转换为无符号字符数组/字节数组
- 如何将字符串转换为无符号字符数组
- 在Arduino中将字符串转换为(逗号分隔的十六进制)字符串到无符号字符数组
- 如何使用istream_iterator将无符号字符向量转换为字符串?
- 将 unicode 字符串与 c ++ 符号进行比较?
- 如何从字符数组(不是字符串数组)中删除符号
- 提升不良词法强制转换:将字符串转换为无符号长整型时,无法将源类型值解释为目标
- 将字符串变量分配给无符号字符变量
- 将'\x00\x00\x00'格式的字符串转换为无符号字符数组
- 为C++字符串中的特殊符号 (") 赋予文字含义的有效C++方法
- 以 Null 结尾的字符串的"NULL"或" "符号是否存储在文件中?
- 提取或(甚至更好)更改 char* 字符串的第一个符号
- 将无符号字符 * 转换为十六进制字符串
- 如何对包含数字和符号的字符串进行排序?
- C++如何将无符号字符数组转换为字符串?
- C++字符串表示中将无符号字符数组转换为长(或长长)
- 将数学符号存储到字符串 c++ 中