万能将unicode编码转换为汉字的方法

Python中有两种默认的字符串:str和unicode。在Python中一定要注意区分“Unicode字符串”

和“unicode对象”的区别。后面所有的“unicode字符串”指的都是python里的“unicode对象”。
事实上在Python中并没有“Unicode字符串”这样的东西,只有“unicode”对象。一个传统意义上

的unicode字符串完全可以用str对象表示。只是这时候它仅仅是一个字节流,除非解码为unicode

对象,没有任何实际的意义。
  函数 decode( char_set )可以实现 其它编码到 Unicode 的转换,函数 encode( char_set )实

现 Unicode 到其它编码方式的转换。

在windows下默认的文件编码是GBK,而linux的一般是utf-8.
想要查看文件的编码方式,使用vim打开文本,然后在命令行模式下输入:set fileencoding,回车即可。

有如下字符串

str1= "\u6709\u4e92\u8054\u7f51\u884c\u4e1a\u4eba"

方法1:

str1.encode().decode()     括号里可填的参数,“gbk”,"gb2312","utf-8",这三者的组合,一般情况都可以转换成中文

这样还不行怎么办:

遇到类似的编码问题时,就要先检查响应内容text是什么类型,
如果type(text) is bytes,那么:
   text.decode('unicode_escape')
如果type(text) is str,那么:
text.encode('latin-1').decode('unicode_escape')

追加:

有时候print的时候,会出现xxx不能解析xxx的情况,这是因为了统一字符类型,python会将字符转换成utf8,但是在转换过程中,会出现无法转换的情况,所以解决办法是我们print的时候,在输出的内容前面加

u"内容"

我们先将内容统一变成unicode形式,这样python去解析就不会报错了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值