2
4

2 に答える 2

1

ファイルは Mac Roman エンコーディング (おそらく MacOS が使用したもの) から来たものですか、それとも Mac OS X が使用する UTF-8 の NFKD 標準形式ですか?

Unicode の標準形の概念は、すべてのプログラマーが熟知していなければならないものです。ただし、Pythonに関してこれについて知っておく必要があることはわかりません。

于 2014-05-02T11:01:01.833 に答える
1

unicodeに aを渡してみてくださいos.listdir:

folder = u"emails"
b = os.listdir(folder)

そうすることで、s のos.listdir代わりに unicode のリストが返されstrます。


残念ながら、これについて考えれば考えるほど、なぜこれが機能したのか理解できなくなります。すべてのファイルシステムは、最終的に何らかのエンコーディングを使用してファイル名をバイト単位で保存します。たとえば、HDF+ はファイル名を UTF-16 で保存します。os.listdirしたがって、それらの生のバイトを混ぜ物なしで最も簡単に返すことができれば、それは理にかなっています。os.listdirしかし、代わりに、この場合、 unadulterated を返すことができるように見えますunicodeが、 unadulterated バイトを返すことはできません。

誰かがその謎を説明できれば、私は最も感謝しています.

于 2014-05-02T01:36:59.450 に答える