问题描述
字符串本身作为 bytes
s = '\xe4\xbd\xa0\xe5\xa5\xbd'
解决方案
s.encode('raw_unicode_escape').decode()
s = '\xe4\xbd\xa0\xe5\xa5\xbd'
b = s.encode('raw_unicode_escape')
s = b.decode()
print(b) # b'\xe4\xbd\xa0\xe5\xa5\xbd'
print(s) # 你好
参考文献
codecs — Python Documentation
String to Bytes Python without change in encoding
Python字符串如何转为bytes对象?Python字符串和bytes类型怎么互转
在python之中字符串是最基础的数据类型之一,而它实际上是由多个字符所连接起来组成的序列,那么想要将字符串转为bytes字节串就需要使用到特殊的方法了。本篇文章会来给大家介绍一下python字符串是如何与bytes类型互转的,感兴趣的话就一起往下看看吧。
(1)字节指的是计算机上面用来表示存储值的一种计量单位,但是它放在python里面的话就是一种数据类型,这个数据类型的名称为bytes。可以将其看做是二进制字节格式的python中表示,它显示在python中的形式为字符串前加上小写字母b。
而要将一个字符串转为bytes类型需要使用到encode()函数,这个函数的意思就是编码。只需要在编码方法内传入表示中文的utf-8参数即可将其转为bytes对象,因为这个方法的本质作用就是把python数据转为可以通用的计算机数据格式,代码如下:
test_str = 'my name is HanMeimei'
bytes_str = test_str.encode('utf-8')
print(bytes_str)
print(type(bytes_str))
# 结果
b'my name is HanMeimei'
<class 'bytes'>
(2)那么要将bytes类型的对象转为python字符串类型的话也就是使用对应的方法,该方法就是decode(),翻译过来就是解码的意思。它在调用是也需要传入参数值utf-8,作用是将utf-8编码的bytes类型数据转为python类可以去直接解析和输出打印显示的字符串类型,代码示例如下所示:
test_str = bytes_str.decode('utf-8')
到此这篇关于Python字符串本身作为bytes进行解码的文章就介绍到这了,更多相关Python bytes解码内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!