在处理内存中的 unicode 字符串时,最首选的格式是什么?为什么?
我正在通过为其生成可执行文件镜像来实现一种编程语言。显然,一个有效的编程语言实现需要一个处理字符串的协议(protocol)。
我考虑过使用动态数组作为字符串的基础,因为它们实现起来非常简单,并且对于短字符串非常有效。以这种方式使用字符串时,我只是不知道字符的最佳可能格式。
最佳答案
UTF16 是使用最广泛的格式。
UTF16的优势|超过 UTF8是这样的,尽管不那么紧凑,但每个字符都有 2 字节(16 位)的恒定大小 - 只要您不使用代理项(当坚持使用 2 字节字符时,编码称为 UCS-2 )。
在 UTF8 中,只有一小部分字符编码为 1 个字节,其他字符则为 4 个字节。这使得字符处理不那么直接并且更容易出错。
当然首选使用 Unicode,因为它可以处理国际字符。
关于x86 - 进程内存中的 Unicode 字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/391295/