python之unicode和encode

发布时间 2023-11-02 11:07:31作者: 好拼好生活

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')