Python encode()和decode()字符串方法

2024-10-01 02:34:07 发布

您现在位置:Python中文网/ 问答频道 /正文

学习Python,对它的文档越来越失望。你知道吗

对于以下脚本:

utf_string = "文言"

raw_bytes = b'\xe6\x96\x87\xe8\xa8\x80'

print(raw_bytes.decode())

print(utf_string.encode())

print(raw_bytes == utf_string.encode())

print(utf_string == raw_bytes.decode())

1)这些encode()和decode()方法的文档在哪里?你知道吗

2)我已经使用print(type(utfèu string))测试了变量的数据类型,并意识到我同时处理字符串和字节。你知道吗

3)如何找出这些方法属于哪个类?我试着在Google上搜索“python3string方法”和“Python解码方法”,但毫无乐趣。你知道吗

我需要知道一种方法,这样我就可以找出该方法所属的类,然后很容易找到该方法的文档。否则我真的不知道怎么用这个方法。你知道吗


Tags: 方法文档脚本stringrawbytesutfencode
2条回答

变量raw_bytes不是字符串,它的类型是bytes。这就是b前缀的含义。decodebytes对象的方法,默认编码是UTF-8,但您可以指定其他编码。你知道吗

变量utf_string是一个字符串。encode是一个字符串方法。默认编码是UTF-8,但您可以指定其他编码。你知道吗

正如您所发现的,将这两种方法结合在一起,可以在bytes和表示Unicode码点的字符串之间进行来回转换,前者像字符串一样是不可变的,但是是一个小整数序列。这两种方法在Pythonstandard library docs中都有文档记录。你知道吗

Python标准库通常有示例性文档,当您遇到这样的问题时,文档应该是您的第一个调用端口。你知道吗

  1. 两者的文档都可以在here中找到。搜索'字节.解码'和'str.encode编码'.

  2. 从(1)中明显可见。

  3. 您可以在pythonshell中使用help(<type>),例如help(str),以查看可用于相应对象类型的方法(和其他内容)。

相关问题 更多 >