處理內存時,unicode字符串最受歡迎的格式是什麼?爲什麼?進程內存中的Unicode字符串
我正在通過爲其生成可執行文件映像來實現編程語言。很顯然,一個可用的編程語言實現需要一個處理字符串的協議。
我想過使用動態數組作爲字符串的基礎,因爲它們實現起來非常簡單,並且對於短字符串非常有效。以這種方式使用字符串時,我不知道字符的最佳可能格式。
處理內存時,unicode字符串最受歡迎的格式是什麼?爲什麼?進程內存中的Unicode字符串
我正在通過爲其生成可執行文件映像來實現編程語言。很顯然,一個可用的編程語言實現需要一個處理字符串的協議。
我想過使用動態數組作爲字符串的基礎,因爲它們實現起來非常簡單,並且對於短字符串非常有效。以這種方式使用字符串時,我不知道字符的最佳可能格式。
C Python 2.x系列根據平臺/構建/ etc使用了UTF-16和UCS-4。
Here's an interesting discussion from python-dev on the requirements and trade-offs in choose the Unicode internal representation for Python 3.0。儘管有更多的內容有比我可以簡要地描述,它包括:
Unicode有1112064有效碼點,所以 [UTF-16是可變寬度:1或2塊的16個比特](https://en.wikipedia.org/wiki/ UTF-16)。根據維基百科的說法,UTF-16的單塊子集確實是不夠的:「從Unicode 9.0開始,一些現代非拉丁亞洲,中東和非洲的腳本不在這個範圍內,大多數表情符號也是如此」 – 2017-11-22 11:21:05