我想在Windows系统,Vista和Win7上使用NTFS文件系统编写一个文件夹。 例如,文件夹可能包含字符å,ä和/或ö,“förjävligt”。
python文件及其中的每个字符串目前都是UTF-8,如何将其转换为Windows文件系统的套件?
答案 0 :(得分: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)将负责其余部分。
答案 1 :(得分:1)
如果你想让字符串非常适合在Windows中使用,你可以使用这个safeFilenameCodec。它是允许字符的子集,但您不必担心任何疯狂的过关。它有慷慨的许可。