簡體   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