Python 字符串文字前面的 b 字符是什么意思
字符串是由字符组成的集合,可以表示单词或完整的短语。由于在Python中可以直接将字符串分配给文字(不像其他技术),所以使用起来很方便。
Python包括许多内置函数和方法来执行各种字符串操作,字符串是String类的对象,其中包含这些方法。
在本文中,我们将找出在Python中字符串字面意味着什么。
字符串字面中的 b 意味着给定字符串是字节格式的。b字面将字符串转换为字节格式。字节是实际数据,而字符串是一个抽象概念。一个字节由8个比特组成。一个字符串是Unicode字符(UTF-16,UTF-32)或ASCII的集合,而一个字节是八位字节(0-255)的集合。
这个过程的优点是,如果我们创建一个字节对象,它会直接存储在计算机的磁盘中,而如果创建一个字符串对象,它首先会被转换为字节对象,然后再存储。因此,通过直接创建字节对象,我们节省了时间。
在Python 2中,前缀 b 被忽略。Python 3中的字节字面值始终以 b 开头,并且它们生成的是一个字节类型的实例,而不是一个字符串类型的实例。它们只能包含ASCII字符,而具有数值大于128的字节必须使用转义字符。Python 3.x区分以下类型:
literals = a series of Unicode characters str = '...' (UTF 16 or UTF 32)
literals = a series of octets bytes = b'..' (integers between 0 and 255)
示例
在下面的示例中,我们将采取2个输入字符串,并在添加b字面量后检查它们是否为相同的数据类型。
str1 = "Welcome to Tutorialspoint"
str2 = b"Welcome to Tutorialspoint"
print("The data type of the first string is")
print(type(str1))
print("The data type of the second string is")
print(type(str2))
输出
上述示例的输出为:
The data type of the first string is
<class 'str'>
The data type of the second string is
<class 'bytes'>