【发布时间】:2013-02-09 09:25:44
【问题描述】:
我正在从文件“☼”中读取一个字符,该字符是通过按 (ALT+15) 在记事本中键入的,现在我必须在控制台上打印该字符和值 15(该字符的相应 ASCII 值)。问题是我得到一个 ASCII 值为 -2 的方框字符。为什么这不是属性工作?
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
ifstream myFile;
myFile.open("input.txt");
char inputA;
myFile>>inputA;
cout<<inputA<<endl;
cout<<(int)inputA;
}
【问题讨论】:
-
☼ 不是 ASCII 字符,它是 unicode character。字符的表示方式取决于文件的编码。
-
是的,我已经使用 unicode 字符选项保存了文件。但仍然无法正常阅读。
-
另外,通过使用 unicode big endian、unicode 和 UTF-10 保存文件,我得到了不同的结果