强大的unicode转换,允许打印[重复]

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了强大的unicode转换,允许打印[重复]相关的知识,希望对你有一定的参考价值。

这个问题在这里已有答案:

我正在比较两个字典列表的等价性。数据来自我无法控制的两个来源。如果任何字段不同,我打印出两个值:

        if event[field_name] == other_event[field_name]:
            print field_name, u'OK,'
        else:
            print field_name, u':', event[field_name], other_event[field_name]

但是,这些数据本质上是国际性的,它似乎沿着该行的某个地方变成了ascii编码,因此有时我会收到以下错误:

UnicodeEncodeError: 'ascii' codec can't encode character u'xfc' in position 11: ordinal not in range(128)

转换数据的最佳方法是什么,以便可以在没有错误的情况下打印数据?请注意,数据不是所有文本,例如它可能是布尔值或整数甚至是无,因此需要一种能够以类似的方式处理非字符串的解决方案。

这个代码运行的平台有Python 2(准确地说是Python 2.7.10),但如果解决方案也兼容Python 3将是有利的,因为它可能需要在未来的Python 3环境中运行。

我检查了Handle wrongly encoded character in Python unicode string,但我的问题似乎有所不同,因为我可以在交互式提示符下输出u' xfc':

>>> print u'Glxfcck'
Glück

谢谢

答案

这有效:

import sys  # import sys package, if not already imported
reload(sys)
sys.setdefaultencoding('utf-8')

这是来自Handle wrongly encoded character in Python unicode string,但是从接受的答案中得到了几个答案。

以上是关于强大的unicode转换,允许打印[重复]的主要内容,如果未能解决你的问题,请参考以下文章

打印一个单词中所有字母的unicode [重复]

有没有办法将文件中的文本转换为 unicode?在 Python [重复]

如何在 C++ 中将字符串从十进制代码转换为西里尔文/unicode16?

javascript - 如何将unicode字符串转换为ascii [重复]

python中如何打印或保存unicode编码内容成中文?

在 Unicode 中转换变量