Python 中的字节对象与字符串
pythonserver side programmingprogramming
由于计算机只能存储字节数据,我们需要将各种数据格式转换为字节数据格式。例如,图像要转换为字节,则存储为 PNG、JPEG 等。同样,音乐存储为 .WAV、.MP3 等。负责创建和管理这些格式的软件会将这些数据转换为字节,以便存储。在 Python 中,字节对象是人类无法读取的字节序列。但字符串是人类可读的字符序列。字符在以字节形式存储在计算机中之前会进行编码。
编码
在将字符串存储到磁盘之前,必须对其进行编码。Python 中用于对字符串进行编码的函数是 encode,如下所示。这里我们应用的是 ASCII 编码。
示例
print('Best Tutorials'.encode('ASCII'))
输出
运行上述代码得到以下结果 −
b'Best Tutorials'
解码
从磁盘读取字节时,为了使它们可读,需要对它们进行解码。在python中,我们可以使用decode函数将编码的字节转换为字符串。
示例
print(b'Best Tutorials'.decode('ASCII'))
输出
运行上述代码得到以下结果 −
Best Tutorials
以下是需要注意的关键点。
- 字符串是字符序列,而字节对象是字节序列。
- 字符串仅供人类阅读,而字节是机器可读的。
- 字节直接存储在磁盘上,而字符需要编码才能存储在磁盘上。