我试图看看不同的字符串在不同的编码中会是什么样子...

例如:

>>> str1 = "asdf"
>>> str1.encode('utf-16')
'\xff\xfea\x00s\x00d\x00f\x00'
>>> str1.encode('base64')
'YXNkZg==\n'


这些都让我得到了我想要的东西。

但是我想看看gbk,gb2312或gb18030中的某些字符串是什么样的。

>>> str1.encode('gbk')
'asdf'
>>> str1.encode('gb2312')
'asdf'
>>> str1.encode('gb18030')
'asdf'


输出不应该是'asdf'以外的东西吗?

我有python 2.7,可以在lib / encodings中看到gbk.py和其他文件

我想知道我的输出是否没有变化,因为这些字母在该编码中将显示相同,或者因为我需要以某种方式启用这些编码(需要某种导入?)...

最佳答案

只要仅使用字节值0-127,这些编码就等同于ASCII。对于UTF-8也是如此。要真正看到差异,请尝试一些实际的中文。

08-05 12:53
查看更多