我必須將大量字符轉換爲它們的Unicode代碼點等價物。我用下面的代碼來做到這一點的轉換:將字符串轉換爲其代碼點
string sample = "b";
int utf32 = char.ConvertToUtf32(sample, 0);
string codePoint = string.Format("{0:X}", utf32);
這適用於比較正常的人物,不過那時候我也喜歡這些ǎ
在實際字符串是包含2個字符a (U-0061)
和'̌' (U-030C)
字符。函數ConverToUtf32(string, int)
那裏只返回我實際上期待的第一個(或另一個取決於索引)字符U-0103
。使用ConvertToUtf32(char, char)
不起作用,因爲這需要更高代碼點的字符。
是否有另一個函數可以用來將字符串轉換爲其代碼點,或者我可以執行的計算?
偉大的答案,正是我需要!我開始正常化,但從來沒有意識到我需要它。 – 2013-07-23 09:57:45
請注意,標準化表格C並不意味着「沒有組合標記」。 –
謝謝,之後我發現了一個。如果我做得對,正常化似乎是在可能的情況下轉換爲[預先製作的字符](http://en.wikipedia.org/wiki/Precomposed_character)。但是,如果沒有,它會使它們保持分解狀態。我必須找出一個修改後的解決方案。 – user97462