貌似python在处理中文时,一直以来都是个紧皱眉头的情况,我今天正好要用到中文,所以尝试一下(也受《可爱的python》熏陶)。
需求:获得一个目录下的所有文件名称(中文)。
没错,就这么个简单的需求,折腾我半天。。。
import os
code = unicode('D:\\学习\\TCPIP详解卷1协议','utf8')
for root,dirs,files in os.walk(code):
for name in files:
print name.encode('gb2312')
code = unicode('D:\\学习\\TCPIP详解卷1协议','utf8')
for root,dirs,files in os.walk(code):
for name in files:
print name.encode('gb2312')
上面几行代码并不重要,重要的是通过这次尝试,我明白个理论,也终于理解了一个图:
大致的意思我是这么理解的,先把本地的编码转为内存可识别的unicode(解码),这可以是utf-8或utf-16等;然后把转换后的unicode进行编码,比如这个例子,我就转成简体中文gb2312