1

我正在尝试在使用 C++ 和 Code::Blocks(字符代码大于 128)的控制台应用程序中使用扩展的 Ascii 代码。http://www.asciitable.com/ 控制台在菱形内显示一个问号。

到目前为止我尝试过:

char myChar = 200;
cout << myChar;

cout << static_cast<char>(200);
4

1 回答 1

2

char 不能容纳整个字符集

改用unsigned char

unsigned char myChar = 200;
cout << myChar << endl;

char通常是有符号的 char。它可以保存从 -128 到 127 的值。ASCII 非常适合 0 到 127,因此char在使用 ASCII 时是合理的。

对于非 ASCII 字符 128 到 255,您需要更大的字符。 unsigned char可以存储从 0 到 255 的值。这涵盖了整个字符集。这正是你所需要的。

还有其他东西需要研究。您可以阅读有关 unicode 的信息。但是unsigned char应该可以帮助您解决当前的问题。

于 2012-02-07T23:06:03.510 回答