Python字符串编码和解码

2024-09-30 20:34:23 发布

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

JS中的编码意味着将带有特殊字符的字符串转换为可转义的可用字符串。例如:encodeURIComponent将空格转换为%20等,以便在uri中使用。在

所以这里的编码意味着转换成一种特定的格式。在

在Python2.7中,我有一个字符串:奥多比。但是,要将其转换为UTF-8格式,我需要使用decode()函数。 例如:“奥多比”。解码(“utf-8”)==u'\u5965\u591a\u6bd4'

我想了解编码和解码的含义是如何随着语言的变化而变化的。对我来说,基本上我应该做“奥多比”.encode(“utf-8”)

我错过了什么。在


Tags: 函数字符串编码格式jsuri解码utf
2条回答

在pythonv2中,它的类型是str,即字节序列。要将其转换为Unicode字符串,您需要使用编解码器对该字节序列进行解码。简单地说,它指定了如何将字节转换为Unicode代码点序列。请查看Unicode HOWTO中有关此问题的更深入的文章。在

您似乎混淆了Unicode text(在Python 2中表示为unicode类型,在字面语法上用u前缀表示),与标准Unicode编码之一UTF-8混淆。在

您不是在创建UTF-8,而是通过从UTF-8字节流解码来创建Unicode文本对象。在

byte字符串文本“奥多比”是二进制数据字节的序列。您可以在文本编辑器中输入这些内容并将文件保存为UTF-8(并告诉Python将源代码视为UTF-8,方法是以PEP 263 codec header开头),或者在配置为发送UTF-8数据的终端中将其输入Python交互提示。在

我强烈建议您阅读更多有关字节、编解码器和Unicode文本之间差异的内容。强烈推荐以下链接:

相关问题 更多 >