2012-11-05 147 views

回答

3

首先,您鏈接的文章談論了作者使用mysql作爲數據庫開發iOS應用程序的經驗。在mysql中,編碼「utf8」僅代表長度爲1,2或3個字節的字符。

但是,utf8根據定義支持1,2,3或4個字節的長字符。因此,在mysql編碼和歸類的上下文中,utf8表示只能達到3個字節的字符。對於4字節的長字符,mysql已經設計了utf8mb4編碼。

但是,這僅適用於mysql上下文。在MySQL世界之外,utf8自動意味着支持1,2,3或4個字節的字符。看到UTF-8 wikipedia page,它在介紹段落中談到這樣的:

UTF-8編碼的每個以Unicode 字符1112064 [7]的代碼點的使用一個設置爲4個8位字節(稱作「個八比特組「在Unicode標準中爲 )。

因此,當平臺或軟件應用程序聲稱支持UTF-8時,它意味着支持所有可以消耗1,2,3或4個字節的1,112,064個代碼點。

mysql的情況是utf8編碼不是真的100%utf8但只有utf-8的6%(但大多數人不會注意到,除非他們開始使用emojis或其他字符)的異常。

所以我的建議是,假設谷歌應用引擎在接受utf-8作爲他們支持的有效編碼時支持4字節字符是安全的。

+0

感謝您的好解釋! –

+0

很好的回答! – user2924127

相關問題