提问人:LCain 提问时间:6/27/2023 最后编辑:Thomas DickeyLCain 更新时间:6/28/2023 访问量:116
从 UTF-8 更改为 ANSI 的文件
Files changing from UTF-8 to ANSI
问:
我对计算机有一点了解,但这个让我感到困惑。
背景:我正准备在无法安装 Python 的环境中向中学生教授 Python。我正在尝试使用内置 Python 的在线 IDE,并在本地存储 .py 文件。
我在家里创建文件,保存到拇指驱动器,并在学校使用我的学校机器访问它们。当我保存文件时,它们显示为 UTF-8,我可以关闭它们并重新加载,一切都很好。当我在学校机器上打开它们时,它们是狼吞虎咽的,显示为 ANSI。我使用了几个编辑器,主要是 Notepad++ 来处理文件。Notepad++ 编码设置为 UTF-8,所以我不确定 ANSI 来自哪里。在 Notepad++ 中使用“转换为 UTF-8”功能似乎没有任何作用。我尝试在传输之前将文件设置为只读,但这似乎没有帮助。回到我的家庭计算机,该文件现在是 ANSI,无法在创建它的计算机上打开。我还尝试将文件保存为 .txt,结果相同。
任何见解都将不胜感激。
使用记事本、记事本++、word、Thonny、Online-Python、Wing等编辑器。
设置 Notepad++ 设置...偏好。。。将新文档转换为 UTF-8 应用于打开的 ANSI 文件
答:
Windows 不会以任何方式记录文件的编码。由打开文件的应用程序决定使用哪种编码。
记事本等应用程序尝试通过查看文件的一部分来猜测编码。有时他们弄错了。问题在于 ANSI 始终有效,因为没有无效的字节值。但正如你所注意到的,有效并不意味着它是正确的。
Windows 中经常使用的一个约定是以字节顺序标记 (BOM) 开始文件,以指示文件是 UTF-8。记事本和 Python 都会识别这一点并正确解码您的文件。
评论
s="print('马克')"
"print('马克')"