在 Python 2 中,str 和 bytes 都是相同的 typeByte 对象,而在 Python 3 中,Byte 对象在 Python 3 中定义为“字节序列”,类似于 Python 2 中的“ unicode ”对象。但是,字符串和字节对象。其中一些如下所示:
- 字节对象是字节序列,而字符串是字符序列。
- 字节对象在内部是机器可读的形式,字符串只是人类可读的形式。
- 由于 Byte 对象是机器可读的,因此它们可以直接存储在磁盘上。然而,字符串需要编码才能存储在磁盘上。
有一些方法可以将字节对象转换为字符串和将字符串转换为字节对象。
编码
PNG、JPEG、MP3、WAV、ASCII、UTF-8 等是不同形式的编码。编码是一种以字节表示音频、图像、文本等的格式。将字符串转换为字节对象称为编码。这是必要的,以便可以使用使用ASCII或UTF-8编码技术的映射将文本存储在磁盘上。
这个任务是使用encode() 来完成的。它以编码技术为参数。默认技术是“ UTF-8 ”技术。
# 演示字符串编码的 Python 代码 # 初始化一个字符串 a = 'GeeksforGeeks' # 初始化一个字节对象 c = b'GeeksforGeeks' # 使用 encode() 对 a 的字符串编码版本进行编码 # 使用 ASCII 映射存储在 d 中 d = a.encode('ASCII') # 检查 a 是否转换为字节 if (d==c): print ("Encoding successful") else : print ("Encoding Unsuccessful")
输出:
Encoding successful
解码
同样,解码是将Byte 对象转换为 String的过程。它是使用decode() 实现的。如果您知道使用哪种编码对其进行编码,则可以将字节字符串解码回字符串。编码和解码是逆过程。
# 用于演示字节解码的 Python 代码 # 初始化一个字符串 a = 'GeeksforGeeks' # 初始化一个字节对象 c = b'GeeksforGeeks' # 使用 encode() 对 a 的字符串编码版本进行编码 # 使用 ASCII 映射存储在 d 中 d = c.decode('ASCII') # 检查 c 是否转换为字符串 if (d==a): print ("Decoding successful") else : print ("Decoding Unsuccessful")
输出:
Decoding successful
感谢大家的阅读,有什么问题的话可以在评论中告诉我。希望大家能够给我来个点赞+收藏+评论 ,你的支持是海海更新的动力!后面我会持续分享前端 & 后端相关的专业知识。