如何将ASCII转换为字符串或符号

时间:2012-07-15 22:06:07

标签: c++

我想将此^输出到控制台,但我想使用ASCII代码而不是值本身。有没有人知道如何做到这一点?

3 个答案:

答案 0 :(得分:5)

该符号称为caret。 ASCII代码为十六进制0x5e(十进制= 94)。

C版:

printf("%c", 0x5e);

C ++版本:

std::cout << static_cast<char>(0x5e);

这两个假设您在系统上运行,默认字符编码将插入符号赋值为0x5e

为了避免不得不依赖这个假设,最好不要使用ASCII码,而是使用'^'

答案 1 :(得分:2)

插入符字符(^)的十六进制值最常 0x5e 94 十进制)。

std::cout << static_cast<char> (0x5e) << " " << (char)94 << " " << '\x5e';
我的播放表

输出"^ ^ ^"


我写“最常见”因为标准保证用什么整数值代表某个角色,所以你不应该做你自己的言下之意。

即使它可能会以您想要的方式运行(因为大多数现代操作系统代表使用该值的插入符号),但不推荐使用它...如果不是在所有情况下,在标准中没有人能保证它能在所有平台上运行。


标准说什么?

  

2.3 / 3字符集[lex.charset]

     

执行字符集和执行宽字符集是   实现定义的基本执行字符集的超集   和基本执行宽字符集。 价值观   执行字符集的成员和集合   其他成员是特定于语言环境的

答案 2 :(得分:0)

根据此页面:http://www.ascii-code.com/

这是ASCII码0x5e。

相关问题