2013-02-07 53 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