>>> a0 ='哈哈'>>> b = a0.encode()>>>type(b)<class'bytes'>>>>>>> b
b'\xe5\x93\x88\xe5\x93\x88'
decode 将字节串转为字符串
>>> a1 = b'\xe7\x8e\x8b\xe8\x80\x85\xe5\x86\x9c\xe8\x8d\xaf'>>> b = a1.decode()>>> b
'王者农药'>>>type(b)<class'str'>
encode(‘raw_unicode_escape’)和 decode(‘raw_unicode_escape’) 若某字符串的内容为bytes形式, 如 a = ‘\xe7\x8e\x8b\xe8\x80\x85\xe5\x86\x9c\xe8\x8d\xaf’ 可使用encode(‘raw_unicode_escape’)将此str转化为bytes, 再decode为str 可使用decode(‘raw_unicode_escape’)输出内容为bytes形式的字符串
>>> a ='\xe7\x8e\x8b\xe8\x80\x85\xe5\x86\x9c\xe8\x8d\xaf'>>> b = a.encode('raw_unicode_escape')>>>type(b)<class'bytes'>>>> b
b'\xe7\x8e\x8b\xe8\x80\x85\xe5\x86\x9c\xe8\x8d\xaf'>>>>>> b.decode()'王者农药'>>>>>> b.decode('raw_unicode_escape')'ç\x8e\x8bè\x80\x85å\x86\x9cè\x8d¯'
>>> a ='\u5403\u9e21\u6218\u573a'>>> b = a.encode('unicode-escape')>>>type(b)<class'bytes'>>>> b
b'\\u5403\\u9e21\\u6218\\u573a'>>>>>> b.decode('utf-8')'\\u5403\\u9e21\\u6218\\u573a'>>>>>>>>> c = b.decode('utf-8')>>> c
'\\u5403\\u9e21\\u6218\\u573a'>>>>>> c.encode()
b'\\u5403\\u9e21\\u6218\\u573a'>>>>>> c.encode().decode('unicode-escape')'吃鸡战场'
python2使用ASC11码作为默认编码方式, python3的默认编码为utf-8
Python 2.7.16(default, Aug 242019,18:37:03)[GCC 4.2.1 Compatible Apple LLVM 11.0.0(clang-1100.0.32.4)(-macos10.15-objc-s on darwin
Type "help","copyright","credits"or"license"for more information.>>>>>> s = u'\u5403\u9e21\u6218\u573a'>>> s
u'\u5403\u9e21\u6218\u573a'
Python 3.7.4(v3.7.4:e09359112e, Jul 82019,14:54:52)[Clang 6.0(clang-600.0.57)] on darwin
Type "help","copyright","credits"or"license"for more information.>>>>>> s = u'\u5403\u9e21\u6218\u573a'>>> s
吃鸡战场