encode和decode的区别

字节序列和字符串是Python中两种不同的数据类型,它们的主要区别在于表示和处理方式!

字节序列(Bytes):

字节序列是一种二进制数据类型,它由一系列字节组成。字节是计算机存储信息的基本单位,每个字节可以表示0到255之间的数值。字节序列通常用于存储非文本数据,如图像、音频、视频或其他二进制文件。在Python中,字节序列可以使用bytes类型表示,它可以通过b'hello'bytes([72, 101, 108, 108, 111])等方式创建。

字符串(String):

字符串是由零个或多个字符组成的序列。字符串主要用于表示文本数据,包括字母、数字、符号等。在Python中,字符串使用str类型表示,它可以通过直接在引号中输入字符序列的方式创建。例如,'hello world'是一个包含12个字符的字符串。

总结:

  • 字节序列是用于存储二进制数据的,而字符串是用于存储文本数据的。
  • 字节序列由一系列字节组成,可以包含任意数值,而字符串由字符组成,每个字符都有一个对应的Unicode码点。
  • 在Python中,字节序列使用bytes类型表示,而字符串使用str类型表示。
  • 在处理文本数据时,通常使用字符串类型;而在处理图像、音频等二进制数据时,通常使用字节序列类型。

实战 

冷知识: 

print 函数默认将字符串以文本形式输出,而不是以二进制形式输出。

如果你想以二进制形式输出加密后的结果,可以使用 binascii 模块中的 hexlify 函数,它将返回一个十六进制字符串,表示原始字节序列的二进制表示形式

import binascii
def a():
    password = "9999"
    encrypted = password.encode()
    print(binascii.hexlify(encrypted))  # 以十六进制形式输出加密后的结果
    print(encrypted.decode())  # 以文本形式输出解密后的结果
if __name__ == '__main__':
    a()

你可能感兴趣的:(python)