Python 字符串中的奇怪字符
我正在从文件中读取一些数据 但我观察到一些奇怪的人物,比如:Python 字符串中的奇怪字符,python,Python,我正在从文件中读取一些数据 但我观察到一些奇怪的人物,比如: 'tamb\xc3\xa9m', 'f\xc3\xbcr','cari\xc3\xb1o' 我的文件读取代码相当标准: with open(filename) as f: for line in f: print line 您有UTF-8编码的数据。您可以解码数据: with open(filename) as f: for line in f: print line.decode('
'tamb\xc3\xa9m', 'f\xc3\xbcr','cari\xc3\xb1o'
我的文件读取代码相当标准:
with open(filename) as f:
for line in f:
print line
您有UTF-8编码的数据。您可以解码数据:
with open(filename) as f:
for line in f:
print line.decode('utf8')
或者在阅读以下内容时,使用Python为您解码内容:
import io
with io.open(filename, encoding='utf8') as f:
for line in f:
print line
您的数据,已解码:
>>> print 'tamb\xc3\xa9m'.decode('utf8')
também
>>> print 'f\xc3\xbcr'.decode('utf8')
für
>>> print 'cari\xc3\xb1o'.decode('utf8')
cariño
您似乎已经打印了字符串表示形式(函数repr()
的输出),它生成适合粘贴回Python解释器的字符串文本语法<代码>\xhh十六进制代码用于可打印ASCII范围之外的字符。诸如list
或dict
之类的Python容器在打印时也使用repr()
来显示其内容
您可能想了解Unicode,以及它如何与Python交互。见:
- 乔尔斯波尔斯基
- 内德·巴奇尔德