假設我們有一個任意字符串,s。Unicode - 通常在C++中使用它
s具有來自世界上任何地方的屬性。來自美國,日本,韓國,俄羅斯,中國和希臘的人都會不時寫下s。幸運的是,我們沒有時間旅行者使用線性A。
對於就事論事,讓我們假設我們想要做的字符串操作,如:
- 反向
- 長度
- 利用
- 小寫
- 指數爲
和,只是因爲這是爲了討論的緣故,讓我們假設我們想自己編寫這些例程(而不是抓取庫),和我們沒有遺留的軟件來維護。
Unicode有三種標準:utf-8,utf-16和utf-32,每種標準都有優缺點。但是讓我們說我很愚蠢,我想要一個Unicode來統一它們(因爲爲3種不同類型的字符串編碼動態調整庫,以隱藏與API用戶的差異聽起來很難)。
- 哪種編碼最通用?
- wchar_t支持哪種編碼?
- STL支持哪種編碼?
- 這些編碼是否全部(或根本不)以空值終止?
-
這個問題的關鍵是要教育自己和他人的Unicode有用的和可用的信息:在閱讀的RFC是好的,但有一個相關的編譯器,語言信息「棧」 ,以及RFC未涵蓋的操作系統,但知道在真實應用程序中實際使用Unicode至關重要。
不完全是一個笨蛋,但也閱讀http://stackoverflow.com/questions/114611/what-is-the-best-unicode-library-for-c – 2010-02-24 17:17:06
@Martin:我真的不感興趣 - 在這時間 - 最好的圖書館是什麼。我更感興趣的是讓自己瞭解關於Unicode的一般信息,以及我將如何着手編寫一個反向的程序 - 或者可能是一個比較模糊的例程 - 以Unicode編碼,而不是讓它在土耳其爆炸。 :-) – 2010-02-24 17:25:25
是的,這就是爲什麼我沒有關閉作爲愚蠢的,但有人誰發現這個問題可能只是使用圖書館感興趣。如果這個線程得到很好的答案,我會在另一個線程中交叉引用它。 – 2010-02-24 18:13:07