某天你发现了这个 b'\xe9\x97\xad\xe5\x98\xb4\xe5\x95\x8aSB',what???
字符串前装个b???
哦。
字节串。
一、字符串和字节串的转换
1、字符串转字节串
方法一:字节串=字符串.encode()----->编码函数
In [2]: a="闭嘴啊SB"
In [3]: type(a)
Out[3]: str
In [5]: b=a.encode() #保险起见,里面可以传参encoding="utf-8"
In [7]: b
Out[7]: b'\xe9\x97\xad\xe5\x98\xb4\xe5\x95\x8aSB'
In [8]: type(b)
Out[8]: bytes
方法二:字节串=bytes(字符串,"utf-8")
In [9]: a
Out[9]: '闭嘴啊SB'
In [10]: a="闭嘴啊SB"
In [11]: b=bytes(a,"utf-8")
In [12]: b
Out[12]: b'\xe9\x97\xad\xe5\x98\xb4\xe5\x95\x8aSB'
2、字节串转字符串
方法一:字符串=字节串.decode()----->解码函数
In [13]: b=b'\xe9\x97\xad\xe5\x98\xb4\xe5\x95\x8aSB'
In [14]: a=b.decode() #保险起见,里面可以传参encoding="utf-8"
In [15]: a
Out[15]: '闭嘴啊SB'
方法二:字符串=str(字节串,"utf-8")
In [16]: b=b'\xe9\x97\xad\xe5\x98\xb4\xe5\x95\x8aSB'
In [17]: a=str(b,"utf-8")
In [19]: a
Out[19]: '闭嘴啊SB'
二、字符串和字节串的长度
len(字符串)计算字符数
len(字节串)计算字节数:在UTF-8编码下,一个英文字符等于一个字节,一个中文(含繁体)等于三个字节,中文标点占
三个字节,英文标点占一个字节。
In [21]: len(a)
Out[21]: 5
In [22]: b
Out[22]: b'\xe9\x97\xad\xe5\x98\xb4\xe5\x95\x8aSB'
In [23]: len(b)
Out[23]: 11