【发布时间】:2010-02-24 17:15:08
【问题描述】:
假设我们有一个任意字符串,s。
s 具有来自世界任何地方的属性。来自美国、日本、韩国、俄罗斯、中国和希腊的人们都会时不时地写到s。不过,幸运的是,我们没有使用线性 A 的时间旅行者。
为了讨论,假设我们想要进行字符串操作,例如:
- 反向
- 长度
- 大写
- 小写
- 索引到
和,只是因为这是为了讨论,假设我们想自己编写这些例程(而不是抓取一个库),和我们没有要维护的遗留软件。
Unicode 有 3 个标准:utf-8、utf-16 和 utf-32,各有优缺点。但是假设我有点笨,我想要一个 Unicode 来统治所有这些(因为为 3 种不同类型的字符串编码滚动一个动态适应库来隐藏 API 用户的差异听起来很难)。
- 哪种编码最通用?
- wchar_t 支持哪种编码?
- STL 支持哪种编码?
- 这些编码是否全部(或根本不)以空值结尾?
--
这个问题的重点是教育我自己和其他人了解有关 Unicode 的有用和可用信息:阅读 RFC 很好,但是有一堆与编译器、语言和操作系统相关的信息,而 RFC 没有封面,但对于在实际应用中实际使用 Unicode 至关重要。
【问题讨论】:
-
不完全是骗子,但也读了stackoverflow.com/questions/114611/…
-
@Martin:我对什么是最好的图书馆并不感兴趣。我更感兴趣的是让自己快速了解有关 Unicode 的一般信息,以及我将如何使用 Unicode 编写反向(或者可能是更晦涩的例程)而不让它在土耳其等地爆炸。 :-)
-
是的,这就是为什么我没有像骗子一样关闭,但是发现这个问题的人可能对使用库感兴趣。如果这个帖子得到了很好的答案,我会在另一个帖子中交叉引用它。