python中bytes函数的用法,python bytes函数
本文主要介绍Python中的bytes类型及其用法。Pythonbytes类型用来表示一个字节串,bytes只负责以字节序列的形式存储数据。下面介绍一下它的相关内容,可以供朋友们参考。
00-1010 1.字节定义2 .字节方法3。用不同的方法创建字节对象的前言;。
Python bytes类型用于表示一个字节串。“字节串”不是一个编程术语,而是我自己“发明”的一个词,用来呼应字符串。
Bytes是Python 3.x中的新类型,Python 2.x中没有。
字节串(bytes)和字符串(string)的对比:
一个字符串由几个字符组成,以字符为单位进行操作;一个字节串由几个字节组成,并以字节为单位进行操作。字节和字符串支持的所有方法除了操作不同的数据单元之外,基本上都是一样的。字节和字符串是不可变的序列,不能随意添加或删除数据。Bytes只负责以字节序列的形式(二进制形式)存储数据。至于这些数据代表什么(字符串、数字、图片、音频等。),完全是由程序的解析方式决定的。如果采用合适的字符编码方法(字符集),可以将字节串还原为字符串;反过来,字符串也可以转换成字节串。
说白了,bytes只是简单的记录了内存中的原始数据。至于如何使用这些数据,bytes并不关心。你可以想怎么用就怎么用。字节不限制你的行为。
Bytes数据非常适合在互联网上传输,可用于网络通信编程;字节也可以用来存储图像,音频,视频和其他二进制格式的文件。
字符串和字节之间有无数的联系。我们可以通过字符串创建bytes对象,或者将字符串转换成bytes对象。
有以下三种方法可以达到这个目的:
如果字符串的内容都是ASCII字符,那么直接在字符串前面加上B前缀就可以转换成字节。Bytes是一个类,调用它的构造方法,即bytes(),可以根据指定的字符集将一个字符串转换成字节;如果没有指定字符集,默认采用UTF-8。字符串本身有一个encode()方法,专门用来根据指定的字符集将字符串转换成相应的字节串;如果没有指定字符集,默认采用UTF-8。
目录
字节类型由例1:b“字符串”定义,但不支持中文(如果出现中文,将会报告错误)
例2:可以通过string.encoding(utf-8 )将字符串转换成字节(兼容中文),通过bytes.decode(utf-8 )还原。
#编码:utf-8
if __name__==__main__:
#示例1
b=babc123
打印(b) # babc123
打印(类型(b)) # class 字节
# c=b I abc123 错误
#示例2
C= I abc123
c=c.encode(utf-8 )
打印(c) # b\xe6\x88\x91abc123
print(type(c)) # class bytes
print(c . decode( utf-8 )# I ABC 123
1.bytes定义
例1:的大多数方法都是bytes(但是它的string参数必须是bytes类型)。
#编码:utf-8
if __name__==__main__:
b=babc123
print(b . find(b a )# 0
c=abc123
print(c . find( a )# 0
# b.find(a )错误参数必须是字节
print(b.replace(ba ,b f )# b FBC 123
print(c.replace(a , f )# FBC 123
# b.replace(a , f )错误参数必须是字节
2.bytes方法
#通过构造函数创建空字节
b1=字节()
#从空字符串创建一个空字节
b2=b
#通过B前缀将字符串转换为字节
B3=b http://c . biancheng . net/python/
打印( b3: ,b3)
打印(b3[3])
打印(b3[7:22])
#指定bytes()方法的字符集
B4=字节( C语言中文网站8岁,编码=UTF-8 )
打印( b4: ,b4)
#通过encode()方法将字符串转换为字节
B5=C语言中文网站8年了。编码(“UTF-8”)
打印( b5: ,b5)
运行结果:
b 3: b http://c . biancheng . net/python/
112
bc边城网
b 4: b c \ xe8 \ xaf \ xad \ xe8 \ xa8 \ X80 \ xe4 \ xb8 \ xad \ xe6 \ x96 \ x87 \ xe7 \ xbd \ x918 \ xe5 \ xb2 \ x81 \ xe4 \ xba \ x86
b 5: b c \ xe8 \ xaf \ xad \ xe8 \ xa8 \ X80 \ xe4 \ xb8 \ xad \ xe6 \ x96 \ x87 \ xe7 \ xbd \ x918 \ xe5 \ xb2 \ x81 \ xe4 \ xba \ x86
从运行结果可以发现,对于非ASCII字符,print输出的是其字符编码值(十六进制形式)而不是字符本身。非ASCII字符一般占用两个字节以上的内存,而字节是按照单个字节处理数据的,不可能一次处理多个字节。
关于Python中的字节类型及其用法的文章到此结束。有关Python中字节类型的更多信息,请搜索流行的IT软件开发工作室以前的文章或继续浏览下面的相关文章。希望大家以后多多支持热门IT软件开发工作室!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。