文件输出到记事本 .txt
Posted
技术标签:
【中文标题】文件输出到记事本 .txt【英文标题】:File output to Notepad .txt 【发布时间】:2011-10-01 21:32:12 【问题描述】:我说得不好,所以我只陈述事实。
情况: 我的 C++ 程序将扩展的 ascii 字符输出到文本文件。
问题: 当我用记事本打开我的文本文件时,它会错误地显示这些字符。 (我使用的是 Windows XP)
结论: 如果我不得不猜测,我会说记事本使用错误的编码保存我的文件。有没有办法修复它,以便我的程序将正确的输出保存到文本文件中?
代码片段:
char box[] =
201, 205, 187,
186, 32, 186,
200, 205, 188
;
当我outputFile << box[0]
时,我的预期结果是“╔”。相反,记事本显示一个“É”。
预期输出:
╔═════╗
║1. ║
║ ║
║ ║
╚═════╝
记事本输出:
ÉÍÍÍÍÍ»
º1. º
º º
º º
ÈÍÍÍÍͼ
编辑:好的。我现在明白我的错误了。记事本使用 ANSI 编码。为什么当我运行我的程序并将其 cout 到屏幕时,它显示为“╔”?我正在使用 Dev-C++ 编写程序——这是否意味着我使用的是过时的编码? C++ 中是否有任何方法可以更改我使用的字符编码?
【问题讨论】:
The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!) 你对写字板有同样的看法吗? 把你的时间机器设置到 1990 年,你会是金子 【参考方案1】:您在“扩展 ASCII”中使用方框图字符已过时。默认情况下,记事本可能使用Latin-1 (ISO-8859-1) 编码,它表示一组不同的字符。
【讨论】:
【参考方案2】:这里有一个适合您的“递归”解决方案:
选择上面显示正确输出的框并将其复制到剪贴板 打开记事本 将其粘贴到记事本中(看起来正确) 保存记事本文件(选择 Unicode 或 UTF-8 编码)并分析它以找出您需要编写什么来获得该输出我相信您可以从上面猜到,要获取这些字符,您必须编写一个 Unicode 文本文件。
【讨论】:
【参考方案3】:更复杂的文本编辑器(如Notepad++)可让您选择编码。 UTF-8 将显示您期望的符号。
【讨论】:
记事本也可以让你选择编码。 在打开的对话框中,查看“打开”按钮的左侧(在 Win7 上) 我的立场是正确的。我连一次都没有使用File -> Open
对话框打开文件。【参考方案4】:
如果你想在编辑器中看到这些画线字符,你需要选择 Windows Terminal 字体。
【讨论】:
以上是关于文件输出到记事本 .txt的主要内容,如果未能解决你的问题,请参考以下文章
python 写代码怎么换行,我用IDLE不会,ENTER就输出了,用记事本只能保存txt为啥