将ascii转换为unicode | 您所在的位置:网站首页 › txt转换asc › 将ascii转换为unicode |
我无法转换 'Schutzt\xc3\xbcren'.encode("utf-8")下面的代码,但无法获取错误 UnicodeDecodeError:'ascii'编解码器无法解码位置7的字节0xc3:序数不在范围内(128) 我想得到 'Schutztüren'结果是。 1> alexis..: 您的字符串已在中utf-8。您需要将其解码为Unicode才能在Python中使用它: print 'Schutzt\xc3\xbcren'.decode("utf-8")但是您有一个更大的问题:您显然正在使用Python2。立即切换到Python 3,没有理由让自己疯狂地尝试了解Python 2处理字符编码的方法。切换到Python 3,您不必每天多次将头撞在桌子上。(请注意,尽管您正在调用该encode()方法,但是却得到了。 UnicodeDecodeError 一个简单的解释:
在Python,unicode和utf-8是不同的东西。strPython 2中的A 可能在"utf-8"编码中,unicode对象没有编码。 如果您尝试将a str用于需要unicode(例如encode())的内容,反之亦然,Python 2将尝试首先隐式转换它。除非它不知道您的字符串的编码,否则它会猜测(ascii,在您的情况下)。哎呀。 Python2有很多隐式转换。
但实际上原因很简单:您没有使用Python 3。 编辑:由于Python 3不是一个选项,这是一些实用建议: Unicode三明治:读入后立即将所有文本转换为Unicode,使用unicode字符串并编码回utf8 str,然后再次写出。 即使在Python 2上,Pandas仍应支持encodingto 的参数to_csv()。使用它在中写入文件utf8。 要直接读取文件,请使用codecs.open()而不是普通open()文件读取文件。它接受encoding=参数并给您unicode字符串。 |
CopyRight 2018-2019 实验室设备网 版权所有 |