亲宝软件园·资讯

展开

Python字符串本身作为bytes进行解码的问题

XerCis 人气:0

问题描述

字符串本身作为 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')

加载全部内容

相关教程
猜你喜欢
用户评论