我不能说得很好,所以我只是说出事实。文件输出到记事本.txt
情况: 我的C++程序输出扩展ascii字符到文本文件。
问题: 当我用记事本打开我的文本文件时,它显示错误的字符。 (我正在使用Windows XP)
结论: 如果我不得不猜测,我会说记事本正在使用错误的编码保存我的文件。有没有办法解决它,所以我的程序将正确的输出保存到文本文件?
代码片段:
char box[] = {
201, 205, 187,
186, 32, 186,
200, 205, 188
};
当我outputFile << box[0]
,我预期的结果是 “╔”。相反,记事本显示“É”。
预期输出:
╔═════╗
║1. ║
║ ║
║ ║
╚═════╝
记事本输出:
ÉÍÍÍÍÍ»
º1. º
º º
º º
ÈÍÍÍÍͼ
编辑:确定。我现在明白我的错误。记事本使用ANSI编码。为什么当我运行我的程序并将它关闭到屏幕时,它显示为“╔”?我正在使用Dev-C++编写我的程序 - 这是否意味着我正在使用过时的编码?有什么方法可以用C++来改变我使用的字符编码吗?
[绝对最小每个软件开发人员绝对肯定必须知道Unicode和字符集(没有借口!)](http://www.joelonsoftware.com/articles/Unicode.html) – GSerg
你看到相同的东西用写字板? –
将您的时间机器设置为1990年,您将成为金色 –