0

我正在尝试为 Windows 创建一个重复文件查找器。我的程序在 Linux 中运行良好。但它会将 NUL 字符写入 Windows 中的日志文件。这是由于 Windows 的 MBCS 默认文件系统编码,而 Linux 中的文件系统编码是 UTF-8。如何将 MBCS 转换为 UTF-8 以避免此错误?

4

2 回答 2

2

告诉 Python 在日志文件上使用 UTF-8。在 Python 3 中,您可以通过以下方式执行此操作:

open(..., encoding='utf-8')

如果要将 MBCS 字符串转换为 UTF-8,可以切换字符串编码:

filename.encode('mbcs').decode('utf-8')

用于filename.encode(sys.getdefaultencoding())...使代码也可以在 Linux 上运行。

于 2017-01-02T07:27:16.083 回答
1

只需将编码更改为 'latin-1' ( encoding='latin-1')

使用纯 Python: open(..., encoding = 'latin-1')

使用熊猫: pd.read_csv(..., encoding='latin-1')

于 2020-05-04T14:53:29.680 回答