Python编码()和解码()字符串方法

时间:2019-02-13 14:19:21

标签: 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_string))测试了变量的数据类型,并意识到我正在使用字符串和字节。

3)如何找到这些方法属于哪个类?我曾尝试在Google上搜索“ Python 3字符串方法”和“ Python解码方法”,但并不高兴。

我需要知道一个方法,这样我才能找出该方法所属的类,然后轻松找到此文档。否则我真的不知道如何使用该方法。

2 个答案:

答案 0 :(得分:0)

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

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

您已经发现,这两种方法共同使bytes之间可以前后转换,{{1}}像字符串一样是不变的,但是由小整数组成的序列和代表Unicode代码点的字符串组成。两种方法都在Python standard library docs中进行了介绍。

Python标准库通常具有示例性文档,当您遇到这样的问题时,该文档应该是您的第一站电话。

答案 1 :(得分:0)

  1. 两者的文档都可以找到here。搜索“ bytes.decode”和“ str.encode”。

  2. 来自(1)的父母。

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