文件输出到记事本 .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的主要内容,如果未能解决你的问题,请参考以下文章

Excel VBA 如何把单元格中的多行文字输出到txt中

017-PHP数组形式读取TXT记事本内容

python 写代码怎么换行,我用IDLE不会,ENTER就输出了,用记事本只能保存txt为啥

如何在 phpmyadmin MySql 中导入记事本 .txt 文件

python基础一

java创建txt文件设置编码方式