2013-02-07 56 views
2

我想在C++中实现Unicode Normalization,特别是NFKC。为此,我需要一些任何语言的参考源代码(prefrable C++)。Unicode规范化C++源代码参考

或者你可能会建议我如何开始我的实施。

+2

libicu已经在C++中为你实现标准化。它是开源的。所以你可以去研究一下。但首先阅读Unicode标准,它描述了算法。它本质上只是一个很大的数据库查询。 –

+0

http://unicode.org/reports/tr15/#Code_Sample –

+0

我会继续@ KerrekSB的建议。 _不要自己写这个;使用ICU。 –

回答

3

你很幸运,因为SO.com的Lounge<C++>上的一个常规用C++编写了一个完整的Unicode实现。它的目的是作为一个完整的更换ICU,没有任何缺点的:

https://bitbucket.org/martinhofernandes/ogonek/

当前不执行NFKC,但NFC和NFD实现,并且可以作为“有一定的参考源代码”。

+0

他的代码避免了什么是ICU的缺点? (我自己实现了一个很好的交易,但我的图书馆直接使用UTF-8,这与ICU不同)。 –

+0

@ R.MartinhoFernandes:Ogonek看起来非常令人兴奋!一个问题:它处理来自遗留编码的转换吗? –

+0

@JamesKanze关注[链接](https://bitbucket.org/martinhofernandes/ogonek/wiki/Home)。他在他的wiki上很好地解释了它。 – rubenvb