我在 C++ 中有一个简单的标记器类,它将单个数组元素值视为分隔符。它填充缓冲区,直到找到分隔符。为了支持更大的分隔符集,包括 U+2192 向右箭头 '→' 而不是序列“->”,我想使用更大的字符集。这是我到目前为止的结论
- UTF-8 不会提供比 US-ASCII 更多的字符,因为标记器对数组元素进行操作
- UTF-16 提供了更多实际有效的字符,但它与 UTF-8 共享作为多元素编码的属性。
- UCS-2 已弃用,但非常适合这种情况
- UCS-4 从未在文件中使用过
- UTF-32 与 UCS-4 相同,将来可能是多元素,但现在不是。
我希望源是 Windows (UTF-16) 和 Linux (UTF-8) 之间的跨平台。
[编辑]
我决定在内部使用 UTF-16。这支持大量符号而不使用多个元素。我也可以避免在 Windows 平台上进行转换。