1.
a=‘\u767e\u5ea6\u5728\u7ebf\u7f51\u7edc\u6280\u672f\uff08\u5317\u4eac\uff09\u6709\u9650\u516c\u53f8’
>>> print unicode(a,'utf-8')
\u767e\u5ea6\u5728\u7ebf\u7f51\u7edc\u6280\u672f\uff08\u5317\u4eac\uff09\u6709\u9650\u516c\u53f8
>>> print(a.decode('unicode_escape'))
百度在线网络技术(北京)有限公司
“反编码”我自己起的名字,大概意思就是我得到一串字符,是unicode码,如:‘\u53eb\u6211’,进行反编码后得到其对应的汉字。
2.
print u"中".encode("unicode-escape")
\u4e2d
这里是将“中”的unicode编码值(4E2D)输出。
3.
string-escape是对二进制的字节流,一个字节一个字节转义,并对每个字节以16进制输出,比如:
In [22]: print "中".encode("string-escape")
\xe4\xb8\xad #注意,这是一个字符串'\\xe4\\xb8\\xad'
这里是将"中"的utf-8编码值(E4B8AD)输出成一个可见字符串。
In [72]: "中".encode("string-escape")
Out[72]: '\\xe4\\xb8\\xad'
In [64]: u"中".encode("gbk").encode("string-escape")
Out[64]: '\\xd6\\xd0'
这里是将“中”以gbk编码之后的编码值输出。
注意 :a 不是unicode, 如果变为a=u'',则不需要以上步骤
因此,在做编码转换时,通常需要以unicode作为中间编码,即先将其他编码的字符串解码(decode)成unicode,再从unicode编码(encode)成另一种编码。
decode的作用是将其他编码的字符串转换成unicode编码,
如str1.decode('gb2312'),表示将gb2312编码的字符串转换成unicode编码。
encode的作用是将unicode编码转换成其他编码的字符串,
如str2.encode('gb2312'),表示将unicode编码的字符串转换成gb2312编码。
还有一篇博客挺好:https://blog.youkuaiyun.com/weixin_42812527/article/details/81869740
来源:https://blog.youkuaiyun.com/pzqingchong/article/details/50953822
https://blog.youkuaiyun.com/ggggiqnypgjg/article/details/72783356