繁体   English   中英

RAM中的Python字符串

[英]Python strings in RAM

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

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

字符串包含UNICODE字符,应该这样吗?在存储到内存之前如何编码?

我假设您要问的是标准Python实现CPython。

PEP 0393中所述,从Python 3.3开始更改了Unicode字符串表示形式。 从那时起,字符串对所有字符(1、2或4)使用相同数量的字节,请根据其内容为每个字符串选择尽可能小的字节。 使用的特定编码为:

  • 每个字符1个字节:拉丁文1
  • 每个字符2个字节:UCS-2
  • 每个字符4个字节:UCS-4

根据我的理解,在版本3.3之前,Unicode字符串表示取决于系统,通常为UTF-16,UCS-4或UCS-2。 有关更多详细信息,请参见上述PEP 0393及其参考。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM