RAM中的Python字符串

时间:2016-01-19 13:36:00

标签: python unicode

如何将字符串变量保存在RAM中?

例如:foo = 'abcǶ's = u'abc\u2119'

字符串包含UNICODE字符,所以它应该在存储到内存之前如何编码?

1 个答案:

答案 0 :(得分:2)

我假设您正在询问有关CPython的标准Python实现。

Python 3.3中所述,Unicode字符串表示从PEP 0393开始更改。从那时起,字符串对所有字符使用相同的字节数,可以是1,2或4,根据每个字符串的内容选择最小的字符串。使用的具体编码是:

  • 每个字符1个字节:Latin-1
  • 每个字符2个字节:UCS-2
  • 每个字符4个字节:UCS-4

在版本3.3之前,Unicode字符串表示取决于系统,并且通常是UTF-16,UCS-4或UCS-2,据我所知。有关更多详细信息,请参阅上述PEP 0393及其参考资料。