str类型使用ASCII编码器/解码器吗?

时间:2017-06-06 19:56:39

标签: python string python-2.7 encoding utf-8

在Python 2 REPL上:

>>> sys.stdin.encoding 
'UTF-8'

所以我的理解是,在stdin

上给出以下表达式
>>> stringLiteral = 'abc'

解释器从stdin编码中读取utf-8中的表达式并解释代码。

但是我了解到,在Python 2中,str类型将'abc'存储为字节字符串,并在CPython内部将其存储为C char *以null结尾的字符串(即由\0)终止的字节数组。

str类用于在内存中存储'abc'的编码方案是什么? str在打印时使用什么解码方案打印'abc'

根据答案,如果我给出以下表达式:

>>> stringLiteralNonAsciiRange = 'abc정정'

那么stringLiteralNonAsciiRange为什么不打印정정?为什么输出'abc\xec\xa0\x95\xec\xa0\x95\xf0\x9f\x92\x9b'

0 个答案:

没有答案