在Python中字符串字头前的'b'字符的影响

192 阅读1分钟

在Python中字符串字面前的'b'字符的效果

在python中,字符串前的'b'字符用于指定该字符串为 "字节串"。

比如说

b_str = b'Hey I am a byte String' 。

现在,b_str并没有存储一个String对象,相反,它存储了一个Byte String对象。

字符串和字节串的区别。

字符串是以人类可读格式存在的普通字符,而字节 串是以字节为单位的字符串。一般来说,字符串首先被转换为字节,就像其他对象一样,因为计算机只能以字节形式存储数据。在处理字节型字符串时,它们不会被转换成字节**,因为它们已经是**字节型了。

字符串是如何转换为字节的?

字符串是通过编码转换为字节的。有各种编码格式,可以将字符串转换为字节。例如,ASCII、UTF-8,等等。

在Python中把字符串转换为字节字符串。

Python3

var= 'Hey I am a String'.encode('ASCII')
print(var)

输出

b'Hey I am a String'

如果我们甚至打印变量的类型,我们将得到字节类型。

Python3

var= 'Hey I am a String'.encode('ASCII')
print(type(var))

输出

<class 'bytes'>

一个字节对象是如何转换为一个字符串的?

就像编码是用来将字符串转换为字节一样,我们用解码将字节转换为字符串。

Python3

var= b'Hey I am a Byte String'.decode('ASCII')
print(var)

输出

Hey I am a Byte String

如果我们甚至打印变量的类型,我们将得到字符串类型。

Python3

var= b'Hey I am a String'.decode('ASCII')
print(type(var))

输出

<class 'str'>