处理内存时,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