将ascii转换为unicode 您所在的位置:网站首页 txt转换asc 将ascii转换为unicode

将ascii转换为unicode

#将ascii转换为unicode| 来源: 网络整理| 查看: 265

我无法转换

'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 实验室设备网 版权所有