python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > python3 bytes数据类型

python3中bytes数据类型的具体使用

作者:凌肖战

bytes类型是python3引入的,本文就来介绍一下python3中bytes数据类型的具体使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

一.  简介

bytes 类型是 python3 引入的。在Python 3.0版本中,字节串类型(bytes)被引入并命名为bytes,用于表示二进制数据。

在 Python3 中,bytes 类型表示的是不可变的二进制序列(byte sequence)。

二.  python3 中的 bytes数据类型

1. 创建 bytes类型

创建 bytes类型有几种方式:

(1) 使用字面量语法创建。

(2) 可以使用 bytes() 函数将其他类型的对象转换为 bytes 类型。

下面来简单学习一下 bytes类型的创建,访问与索引,bytes类型与字符串之间的转换。

(1) 使用字面量语法创建。如下所示进行创建:

b = b"hello python"

(2) 使用 byte() 构造函数创建,这里是使用 bytes() 函数将其他类型的对象转换为 bytes 类型。

举例说明:

b1 = bytes([10]) #将数字转化为字节串
b2 = bytes([1, 2, 3]) #将数字列表转化为字节串
b3 = bytes((1, 2, 3)) #将数字元组转化为字节串

b4 = bytes('a', encoding='utf-8') #将单个字符转换为字节串
b5 = bytes("python", encoding='utf-8') #将字符串转换为字节串

通过 byte()方法定义 bytes类型,显示有两种可能:以二进制格式显示,或者以字符串格式显示:

以二进制格式显示

当 bytes的元素值范围在 [32, 126] 范围之外时,会以二进制格式显示,举例说明如下:

b1 = bytes([1, 2, 3, 4, 5])
print(b1) #输出 b'\x01\x02\x03\x04\x05'

以字符串格式显示

bytes的元素值范围在 [32, 126] 范围之外时,会以二进制格式显示,举例说明如下:

b2 = bytes([32, 33, 34, 126])
print(b2) #输出 b' '!'~'

2. bytes的访问与索引

bytes对象是不可变序列,类似于字符串对象。可以通过索引与切片对 bytes对象进行访问或截取。

b = bytes("hello python", 'utf-8')
print(b[0])   #输出 104
print(b[2:5]) #输出 b'llo'
print(b[2:])  #输出 b'llo python'
print(b[:3])  #输出 b'hel'

3. 字节串 bytes与字符串 str的转换

将bytes类型转换为 字符串类型,举例如下:

b = bytes("python", 'utf-8')
s = b.decode('utf-8')
print(s) #输出 python

将字符串转化为 bytes类型,举例如下:

s = "hello python"
b = s.encode('utf-8')
print(b) #输出 b'hello python'

4. 修改 bytes对象

bytes 对象是不可变的,不能直接修改其中的元素。若需要修改,可以先将其转换为 bytearray类型,然后再进行修改。下面举例说明:

b1 = bytes("hello world", 'utf-8')
b2 = bytearray(b1)
b2[0] = 72
print(b2) #输出:bytearray(b'Hello world')

5. 删除 bytes对象

使用 del() 方法删除 bytes对象,例如:

b1 = bytes("hello world", 'utf-8')
del b1

关于 byte类型暂时学习到这里。

到此这篇关于python3中bytes数据类型的实现示例的文章就介绍到这了,更多相关python3 bytes数据类型内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文