我已经在这里搜索过这类问题的答案,并且找到了很多答案——但我仍然对这件事表面上的微不足道有这种挥之不去的怀疑。
我已经阅读了一篇关于该主题的非常有趣的有用文章:http: //www.joelonsoftware.com/articles/Unicode.html,但它让我想知道如何在给定 Unicode 数据缓冲区的情况下识别单个字形。
我的问题是:
我将如何解析 Unicode 字符串,比如 UTF-8?
假设我知道字节顺序,当我遇到应该由 6 个字节表示的字形的开头时会发生什么?
也就是说,如果我正确解释了存储方法。
这一切都与我设计用于 OpenGL 的文本显示系统有关。我将字形数据存储在显示列表中,我需要将字符串的内容转换为一系列字形索引,然后将其映射到显示列表索引(因为显然,将整个字形集存储在图形内存中并不总是可行的)。
考虑到我需要显示的所有内容,必须将每个字符串表示为一个短裤数组将需要大量存储空间。
此外,在我看来,每个字符 2 个字节根本不足以代表所有可能的 Unicode 元素。