JS中的编码意味着将具有特殊字符的字符串转换为转义的可用字符串。例如:encodeURIComponent会将空格转换为%20等,以便在URI中使用。
因此,此处的编码意味着转换为特定格式。
在Python 2.7中,我有一个字符串:奥多比。但是,要将其转换为UTF-8格式,我需要使用decode()函数。 喜欢:“奥多比”.decode(“utf-8”)== u'\ u5965 \ u591a \ u6bd4'
我想了解编码和解码的含义是如何随语言而变化的。对我来说,基本上我应该做“奥多比”.encode(“utf-8”)
我在这里缺少什么。
答案 0 :(得分:2)
您似乎混淆Unicode text(在Python 2中表示为unicode
类型,由文字语法的u
前缀表示),使用标准Unicode编码之一, UTF-8。
您没有创建UTF-8,您通过解码从UTF-8字节流创建了一个Unicode文本对象。
byte 字符串文字“奥多比”是一系列二进制数据,字节。您可以在文本编辑器中输入这些文件,并将文件保存为UTF-8(并告诉Python通过使用PEP 263 codec header启动文件将源代码视为UTF-8),或者将其输入到Python交互式文件中在配置为发送UTF-8数据的终端中提示。
我强烈建议您阅读有关字节,编解码器和Unicode文本之间差异的更多信息。强烈建议使用以下链接:
答案 1 :(得分:1)
在Python v2中,它是类型str
,即字节序列。要将其转换为Unicode字符串,您需要使用编解码器解码此字节序列。简单地说,它指定了如何将字节转换为Unicode代码点序列。请查看Unicode HOWTO以获取更深入的文章。