0

我想在具有 NTFS 文件系统的 windows 系统、Vista 和 Win7 上编写一个文件夹。文件夹可能包含字符 å、ä 和/或 ö,例如“förjävligt”。

python 文件和其中的每个字符串当前都是 UTF-8,我如何将其转换为适合 Windows 文件系统?

4

2 回答 2

3

如果您使用的是普通的 Python 2 字符串,您可以简单地将它们转换为 Unicode

# -*- coding: utf-8 -*-
normalString = "äöü"

# Now convert to unicode. Specified encoding must match the file encoding
# in this example. In general, you must specify how the bytes-only string
# contained in "normalString" is encoded.
unicodeString = unicode(normalString, "utf-8")

with open(unicodeString, "w") as f:
    ...

并使用这些 Unicode 字符串创建文件。Python(以及间接的 Windows API)将负责其余的工作。

于 2010-02-24T15:48:22.950 回答
1

如果你想让这些字符串在 Windows 中非常好用,你可以使用这个safeFilenameCodec。它是允许字符的一个子集,但您不必担心会出现任何疯狂。它有慷慨的许可。

于 2010-02-24T17:39:50.633 回答