如何在PYTHON中将u'uf04a&39;转换为Unicode [英] how to convert u'uf04a' to unicode in python

查看:52
本文介绍了如何在PYTHON中将u'uf04a&39;转换为Unicode的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试在python中解码u‘uf04a’,这样我就可以打印它而不会出现错误警告。换句话说,我需要将愚蠢的Microsoft Windows 1252字符转换为实际的Unicode

包含异常错误的html的源代码来自这里http://members.lovingfromadistance.com/showthread.php?12338-HAVING-SECOND-THOUGHTS

单击此处http://www.fileformat.info/info/unicode/char/f04a/index.htm阅读有关u‘uf04a’和u‘uf04c’的信息

一个示例如下所示:

"Oh god please some advice ":

out[408]:哦,上帝,请给我一些建议uf04c‘

给出一个这样的线程作为测试示例:

thread = u'who are you uf04a Why you are so harsh to her uf04c'
thread.decode('utf8')

print u'uf04a'
print u'uf04a'.decode('utf8') # error!!!

‘charmap’编解码器无法对位置1526中的字符u‘uf04a’进行编码:字符映射到未定义

在两个Python脚本的帮助下,我成功地转换了u‘x92’,但我仍然使用u‘uf04a’。有什么建议吗?

参考资料

https://github.com/AnthonyBRoberts/NNS/blob/master/tools/killgremlins.py

Handling non-standard American English Characters and Symbols in a CSV, using Python

解决方案:

根据下面的评论:我将这些字符集替换为问号(‘?’)

thread = u'who are you uf04a Why you are so harsh to her uf04c'
thread = thread.replace(u'uf04a', '?')
thread = thread.replace(u'uf04c', '?')

希望这对其他初学者有帮助。

推荐答案

u'uf04a'

已经Unicode对象,这意味着没有什么要解码的。如果您的目标是像UTF-8这样的特定文件编码(与Unicode不同,但一直与其混淆),则您可以对其执行的唯一操作是编码

u'uf04a'.encode("utf-8")

为您提供一个字符串(Python2)或bytes对象(Python3),然后您可以将其写入文件或UTF-8终端等。

您将无法将其编码为纯Windows字符串,因为cp1252没有该字符。

可以做的是通过告诉编码器将丢失的字符替换为?

,将其转换为不包含这些违规字符的编码:
>>> u'whouf04a whyuf04c'.encode("ascii", errors="replace")
'who? why?'

这篇关于如何在PYTHON中将u'uf04a&39;转换为Unicode的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆