首先,我知道在Python2.x中有很多关于字符串的en/de编码的问题,但是我似乎找不到解决这个问题的方法。在
我有一个unicode字符串,它包含字母č
,它表示为\u00c4\u008d
如果我在Python控制台中编写
>>> a = u"\u00c4\u008d"
>>> print a
我打印出两个奇怪的字符,而不是č
,这可能是因为该字符串的实际编码应该是UTF-8。因此,我尝试使用.decode("utf-8")
,但为此我得到了标准UnicodeEncodeError
。在
你知道我如何让Python在控制台中将这个字符串打印成č
?在
非常感谢
在与python进行了一个多小时的斗争之后,我决定寻找另一种语言的解决方案。这就是我在C#实现目标的方法:
终于来了!文件现在包含
č
。在因此,我受到了C#中这种方法的启发,并设法在Python中提出了以下(似乎)等效的解决方案:
^{pr2}$我不知道这个解决方案有多好,但它似乎对我的情况有效。在
č
不是由u'\u00c4\u008d'
表示的。这两个十六进制值是UTF-8编码的值,因此应该以'\xc4\x8d'
的形式在字节字符串中写入。示例:注意:您的终端必须配置支持字符正确打印的编码,否则您将看到
UnicodeEncodeError
。在如果出于某种原因,您有一个错误解码的Unicode字符串,那么可以利用Unicode的前256个代码点与
^{pr2}$latin1
编码相关的事实,并修复它:如果您有一个错误解码的Unicode字符串,您应该显示您拥有的文件或读取它的代码,并解决这个问题。在
相关问题 更多 >
编程相关推荐