【发布时间】:2026-02-02 11:50:01
【问题描述】:
我在文本文件中写入数字,每行一个数字,如下所示:
N=3
My.Computer.FileSystem.WriteAllText(file_name, N & vbCrLf, True)
如果我用 Fortran 读取这一行而不是返回 3,它会返回 Ύ╗┐3。 如果我用 Python 阅读它,它会返回 ο»Ώ3 这只发生在文件的开头,其他地方都没有。我该如何摆脱它以及它为什么会存在?
【问题讨论】:
-
这是 UTF-8 序言。当您使用 StreamWriter 时,默认编码是 UTF-8。使用相同的编码读取文件。或者指定编码,避免写BOM。由于 UTF-8 与 ASCII 编码兼容,因此当 BOM 未插入文件开头时,您将获得相同的结果。这当然适用于 (0-127) 范围内的代码点。之后,UTF-8 每个字符使用 2 个字节。但你可以简单地使用 Encoding.ASCII。