bytes() 和 byteArray()的主要区别 是 byte() 返回一个不能被修改的对象,这意味着它返回一个不可变的对象。
Python bytes
Python bytes()是一个内置函数,它接受一个字符串作为参数,并需要编码方案来执行。
bytes()函数可以将对象转换成字节,或者创建指定大小的空字节对象。
其中一个关键的方面是在编码失败的情况下处理错误。bytes()方法返回以给定大小和数据初始化的不可变的字节对象。
另一方面,byteArray() 函数返回可以被改变或更改的对象。
语法
bytes(source, encoding, error)
参数
源 | 这是创建字节对象时要使用的源。 如果是整数,将创建一个指定大小的空字节对象。 如果它是字符串,请确保你指定了源的编码。 |
编码 | 字符串的编码。 |
错误 | 决定如果编码失败该怎么做。 |
返回值
bytes()函数返回以下内容。
根据src类型,由Unicode 0-256个字符组成的字节级不可变对象。
- 整数: 返回初始化为null的大小数组
- iterable: 返回可迭代大小的数组,其元素等于可迭代元素( 0-256 )
- string(字符串): 返回按照enc编码的字符串,如果编码失败,则按照
指定的err行事。 - 没有参数: 返回大小为0的数组。
好了,现在我们将看到下面的代码例子:
# app.py
enola = "Eleven is badass character"
data = bytes(enola, 'utf-8')
print(data)
请看下面的输出:
➜ pyt python3 app.py
b'Eleven is badass character'
➜ pyt
在Python列表中使用bytes()函数
让我们定义一个Python列表并使用bytes()函数。
请看下面的代码:
# app.py
list = [11, 21, 18, 19, 29]
print("The iterable conversion results in : " +str(bytes(list)))
请看下面的例子:
➜ pyt python3 app.py
The iterable conversion results in : b'\x0b\x15\x12\x13\x1d'
➜ pyt
使用整数的Python bytes()函数
好的,让我们对整数进行处理,看看输出结果:
# app.py
data = 11
print("The integer conversion results in : " +str(bytes(data)))
请看下面的输出:
➜ pyt python3 app.py
The integer conversion results in : b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
➜ pyt
创建一个给定整数大小的字节:
# app.py
data = 10
output = bytes(data)
print(output)
请看输出:
➜ pyt python3 app.py
b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
➜ pyt
Python 字节到字符串
要在Python中把字节转换为字符串,使用decode()函数来创建一个字符串。
见下面的代码:
# app.py
data = b"KRUNAL"
output = data.decode("utf-8")
print(output)
请看下面的输出:
➜ pyt python3 app.py
KRUNAL
➜ pyt
本教程就到此为止。