我想知道爲什麼我們沒有一些字符串類來代表Unicode字符串的字符串而不是代碼點或字符。在我看來,在大多數應用程序中,程序員在必要時訪問字形組件時比從代碼點組織它們更容易,即使只是爲了避免隨意打斷「中間字形」中的字符串, (至少在理論上)。在內部,一個字符串類可能使用可變長度編碼,如UTF-8,UTF-16,或者在這種情況下,即使UTF-32是可變長度的;或者爲它們實現子類(並且可選地在運行時配置選項,以便不同的語言可以使用它們的最佳編碼)。但是,如果程序員在檢查字符串時能夠「看見」字形單元,那麼字符串處理代碼通常不會更接近實現正確性,並且沒有太多額外的複雜性?基於字形的字符串類?
參考文獻:
Characters and Combining Marks
Unicode implementer's guide part 4: grapheme breaking
UnicodeString Class Reference
Enumerating a string by grapheme instead of character
Strings and character encoding in C++
因爲你還沒有寫過嗎? – 2010-10-20 06:20:40
我不知道這是否會是更好的問題http://programmers.stackexchange.com/ – 2010-10-20 06:20:48
@John,nassar:我認爲約翰的建議是一個很好的問題 – 2010-10-20 06:23:01