我正在尝试使用C ++和Code :: Blocks(字符代码大于128)在控制台应用程序中使用扩展的Ascii代码。 http://www.asciitable.com/ 控制台在钻石内显示一个问号。
我到目前为止尝试过:
char myChar = 200;
cout << myChar;
cout << static_cast<char>(200);
答案 0 :(得分:2)
char无法保存整个字符集
改为使用 unsigned char 。
unsigned char myChar = 200;
cout << myChar << endl;
char 通常是签名字符。 它可以保存-128到127之间的值.ASCII可以很好地适应0到127,因此使用ASCII时 char 是合理的。
对于非ASCII字符128到255,您需要更大的东西。 unsigned char 可以存储0到255之间的值。这涵盖了整个字符集。 这正是你所需要的。
还有其他研究方法。你可以阅读有关unicode的信息。但 unsigned char 可以帮助您解决当前的问题。