b1 = b"i am dady"
b2 = b"dady"
print('*'*20,'Bytes => String','*'*20)
print('将bytes串直接str()输出,带有b\'xx\': ',str(b1),' ',str(b2))
print('一种去除b字眼方法,str(x,encoding=\'utf-8\'):',str(b1,encoding='utf-8'), ' ',str(b2,encoding='utf-8'))
print('第二种去除b字眼方法,b.decode():',b1.decode(), ' ',b2.decode())
s1 = 'i am dady'
s2 = 'dady'
print('*'*20,'String => Bytes','*'*20)
print('类似地,string 2 bytes也有利用string的encode()方法',s1.encode(),' ',s2.encode())
print('或者bytes的编码encoding=\'utf8\'方法',bytes(s1,encoding='utf8'), bytes(s2,encoding='utf8'))
results
******************** Bytes => String ********************
将bytes串直接str()输出,带有b’xx’: b’i am dady’ b’dady’
一种去除b字眼方法,str(x,encoding=‘utf-8’): i am dady dady
第二种去除b字眼方法,b.decode(): i am dady dady
******************** String => Bytes ********************
类似地,string 2 bytes也有利用string的encode()方法 b’i am dady’ b’dady’
或者bytes的编码encoding=‘utf8’方法 b’i am dady’ b’dady’
summary
- 问题:直接对b = b’cui’用str(b)输出带有bytes标志的b’字眼;
- 解决:b.decode()或者str(b,encoding=‘utf-8’)解决
- 额外:str转为bytes,用于网络编程的网络传输格式,需要对s='Example’进行转换;
- 方法:str的编码方法 s.encode(); 2) bytes的静态方法,bytes(s,encoding=‘utf8’)