我有一个文件夹,它的名字包含了一些韩文字符。
当我通过以下方式读取文件夹名称列表时 os.listdir
它的名称值与普通字符串完全不同。
例如
\xe1\x84\x82\xe1\x85\xae
)\xeb\x88\x84
)我们可以从以下几个方面来估计: 1. os.listdir()
给人以混乱的编码...
两者都是相同的编码(UTF-8),但...。
"nbsp"=(xe1/x84/x82/xe1/x85/xae)
这表示该字由两个jamo(韩文(hangeul)字母的24个构件)组成。
>>> import unicodedata
>>> x = b'\xe1\x84\x82'.decode('utf-8')
>>> y = b'\xe1\x85\xae'.decode('utf-8')
>>> unicodedata.name(x)
'HANGUL CHOSEONG NIEUN'
>>> unicodedata.name(y)
'HANGUL JUNGSEONG U'
"nbsp "在Python控制台中=(\xeb\x88\x84)
而当你在控制台窗口中实际输入字符时,你(显然)得到的是一个预先合成的字符。
>>> z = b'\xeb\x88\x84'.decode('utf-8')
>>> unicodedata.name(z)
'HANGUL SYLLABLE NU'