gpt4 book ai didi

python - 字符串和字节字符串有什么区别?

转载 作者:IT老高 更新时间:2023-10-28 12:24:56 26 4
gpt4 key购买 nike

我正在使用一个返回“字节字符串”(bytes)的库,我需要将其转换为字符串。

这两件事之间真的有区别吗?它们之间有什么关系,我该如何进行转换?

最佳答案

计算机只能存储字节。

要在计算机中存储任何内容,您必须首先对其进行编码,即将其转换为字节。例如:

  • 如果你想存储音乐,你必须先编码它使用MP3 , WAV等。
  • 如果要存储图片,必须先编码使用PNG , JPEG等。
  • 如果你想存储文本,你必须先编码它使用ASCII , UTF-8等。

MP3、WAV、PNG、JPEG、ASCII 和 UTF-8 是 编码的示例。编码是一种以字节为单位表示音频、图像、文本等的格式。

在 Python 中,字节串就是:一个字节序列。它不是人类可读的。在后台,所有内容都必须转换为字节字符串才能存储在计算机中。

另一方面,字符串,通常简称为“字符串”,是一个字符序列。它是人类可读的。字符串不能直接存入计算机,必须先编码(转成字节串)。字符串可以通过多种编码方式转换为字节串,如ASCII、UTF-8等。

'I am a string'.encode('ASCII')

上面的 Python 代码将使用编码 ASCII 对字符串 'I am a string' 进行编码。上述代码的结果将是一个字节串。如果你打印它,Python 会将它表示为 b'I am a string'。但是请记住,字节字符串 不是人类可读的,只是当您打印它们时 Python 会从 ASCII 解码它们。在 Python 中,字节字符串由 b 表示,后跟字节字符串的 ASCII 表示。

如果您知道用于对其进行编码的编码,则可以将字节字符串解码回字符串。

b'I am a string'.decode('ASCII')

以上代码会返回原字符串'I am a string'

编码和解码是逆运算。一切都必须先编码,然后才能写入磁盘,并且必须先解码,然后才能被人类读取。

关于python - 字符串和字节字符串有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6224052/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com