Python bytes string相互转换过程解析
一.bytes和string区别
1.pythonbytes也称字节序列,并非字符。取值范围0<=bytes<=255,输出的时候最前面会有字符b修饰;string是python中字符串类型;
2.bytes主要是给在计算机看的,string主要是给人看的;
3.string经过编码encode,转化成二进制对象,给计算机识别;bytes经过解码decode,转化成string,让我们看,但是注意反编码的编码规则是有范围,\xc8就不是utf8识别的范围;
if__name__=="__main__": #字节对象b b=b"shuopython.com" #字符串对象s s="shuopython.com" print(b) print(type(b)) print(s) print(type(s))
输出结果:
b'shuopython.com'
shuopython.com
二.bytes转string
string经过编码encode转化成bytes
#!usr/bin/envpython #-*-coding:utf-8_*- """ @Author:何以解忧 @Blog(个人博客地址):shuopython.com @WeChatOfficialAccount(微信公众号):猿说python @Github:www.github.com @File:python_bytes_string.py @Time:2020/2/2621:25 @Motto:不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累! """ if__name__=="__main__": s="shuopython.com" #将字符串转换为字节对象 b2=bytes(s,encoding='utf8')#必须制定编码格式 #print(b2) #字符串encode将获得一个bytes对象 b3=str.encode(s) b4=s.encode() print(b3) print(type(b3)) print(b4) print(type(b4))
输出结果:
b'shuopython.com'
b'shuopython.com'
三.string转bytes
bytes经过解码decode转化成string
if__name__=="__main__": #字节对象b b=b"shuopython.com" print(b) b=bytes("猿说python",encoding='utf8') print(b) s2=bytes.decode(b) s3=b.decode() print(s2) print(s3)
输出结果:
b'shuopython.com'
b'\xe7\x8c\xbf\xe8\xaf\xb4python'
猿说python
猿说python
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。