Python bytes的完整指南

374 阅读2分钟

bytes()byteArray()的主要区别 是 byte() 返回一个不能被修改的对象,这意味着它返回一个不可变的对象。

Python bytes

Python bytes()是一个内置函数,它接受一个字符串作为参数,并需要编码方案来执行。

bytes()函数可以将对象转换成字节,或者创建指定大小的空字节对象。

其中一个关键的方面是在编码失败的情况下处理错误。bytes()方法返回以给定大小和数据初始化的不可变的字节对象。

另一方面,byteArray() 函数返回可以被改变或更改的对象。

语法

bytes(source, encoding, error)

参数

这是创建字节对象时要使用的源。

如果是整数,将创建一个指定大小的空字节对象。

如果它是字符串,请确保你指定了源的编码。

编码字符串的编码。
错误决定如果编码失败该怎么做。

返回值

bytes()函数返回以下内容。
根据src类型,由Unicode 0-256个字符组成的字节级不可变对象。

  1. 整数: 返回初始化为null的大小数组
  2. iterable: 返回可迭代大小的数组,其元素等于可迭代元素( 0-256 )
  3. string(字符串): 返回按照enc编码的字符串,如果编码失败,则按照
    指定的err行事。
  4. 没有参数: 返回大小为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

本教程就到此为止。