Python b String:完整指南

853 阅读2分钟

Python b String - The 'b' Character in Python String

Python中的字符串可以描述像字符、词、特殊字符这样的数据,或者几乎任何人类可读的形式;因此,它们应该在程序中使用。在Bytes 的情况下**,** 它应该用来描述低级的二进制数据结构。

Python b 字符串

Python b 字符串由字节数据组成,这意味着代表整数的字头在0255 之间**。** Python b stringPython string的主要区别 在于其数据类型。普通的字符串有一串Unicode字符,如UTF-16UTF-32,而Python b字符串有字节数据类型,意味着代表0到255之间的整数的字头(也被称为八位数)。

通过在Python普通字符串前面添加前缀b,我们将其数据类型从 字符串修改 为字节

让我们来看看这个例子。

app_string = 'Happiest Season'

print(type(app_string))

app_string_b = b'Happiest Season'

print(type(app_string_b))

输出

<class 'str'>
<class 'bytes'>

你可以看到,第一个是正常的字符串,第二个有字节。你要打印的第二个对象不是一个字符串,而是作为字节字面的字节对象。

在Python 2.x中,strbytes的数据类型是Byte类型的对象,但在Python 3.x中,这一点现在已经改变。

将字节转换成字符串和将字符串转换成字节

你可以将String转换为Byte,这被称为编码,Byte转换String被称为解码。

print('ÑÞ')

print('ÑÞ'.encode('UTF-8'))

print(len('ÑÞ'.encode('UTF-8')))

print(b'\xc3\x91\xc3\x9e'.decode('UTF-8'))

print(len(b'\xc3\x91\xc3\x9e'.decode('UTF-8')))

输出

ÑÞ
b'\xc3\x91\xc3\x9e'
4
ÑÞ
2

在上面的代码中,首先,我们打印了一个德语单词。这个字符串的长度是2,也就是说,它有2个字符。

因为这是一个字符串,所以在下一行中使用了encode()进行编码,输出b'\xc3\x91\xc3\x9e'。

上述编码后的字符串的长度是4个字节,在第三行代码中表示。

如果我们希望将一个字节转换为一个字符串,就必须进行解码,这在第四行中得到体现。

解码后的字符串的长度为2个字符。

这就是Python b字符串的内容。