首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Mac OS X中的文件系统的Unicode编码在Python中不正确?

Mac OS X中的文件系统的Unicode编码在Python中不正确?

提问于 2018-03-16 07:50:37
回答 2关注 0查看 309

在OS X和Python中与Unicode文件名争执不休。我试图在后面的代码中使用文件名作为正则表达式的输入,但是文件名中使用的编码似乎与sys.getfilesystemencoding()告诉我的不同。采取以下代码:

#!/usr/bin/env python
# coding=utf-8

import sys,os
print sys.getfilesystemencoding()

p = u'/temp/s/'
s = u'åäö'
print 's', [ord(c) for c in s], s
s2 = s.encode(sys.getfilesystemencoding())
print 's2', [ord(c) for c in s2], s2
os.mkdir(p+s)
for d in os.listdir(p):
  print 'dir', [ord(c) for c in d], d

它输出以下内容:

utf-8
s [229, 228, 246] åäö
s2 [195, 165, 195, 164, 195, 182] åäö
dir [97, 778, 97, 776, 111, 776] åäö
相关文章

相似问题

相关问答用户
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档