这篇文章主要为大家展示了“Python中如何实现bytes和string相互转换的方法”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Python中如何实现bytes和string相互转换的方法”这篇文章吧。
一.bytes和string区别
1.python bytes 也称字节序列,并非字符。取值范围 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'
<class 'bytes'>
shuopython.com
<class 'str'>
二.bytes转string
string经过编码encode转化成bytes
# !usr/bin/env python
# -*- coding:utf-8 _*-
"""
@Author:何以解忧
@Blog(个人博客地址): shuopython.com
@WeChat Official Account(微信公众号):猿说python
@Github:www.github.com
@File:python_bytes_string.py
@Time:2020/2/26 21: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'
<class 'bytes'>
b'shuopython.com'
<class 'bytes'>
三.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
以上是“Python中如何实现bytes和string相互转换的方法”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。