在C中將Unicode代碼轉換爲UTF-8字節序列的最簡單方法是什麼?想到的唯一方法是使用iconv
將UTF-32LE代碼頁映射到UTF-8,但這看起來像是矯枉過正。將unicode代碼轉換爲UTF-8的最簡單方法
7
A
回答
7
Unicode轉換不是一項簡單的任務。對iconv使用iconv對我來說看起來並不過分。也許有一個iconv的庫版本可以用來避免進行system()調用,如果這是你想要避免的。
+0
我已經計劃使用庫。 – 2008-10-27 19:53:03
3
UTF8通過將編碼碼點的長度編碼爲編碼字節的最高位來工作。見http://en.wikipedia.org/wiki/UTF-8#Description
我在C這裏發現了這個小函數http://www.deanlee.cn/programming/convert-unicode-to-utf8/,雖然沒有測試。
5
我可以建議ICU?這是處理國際化問題的合理「行業標準」方式。
我自己還沒有使用過C版本,但我懷疑ucnv_fromUnicode可能是你之後的功能。
相關問題
- 1. 將Unicode轉換爲UTF8
- 2. 將Utf8轉換爲Unicode
- 3. C庫將unicode代碼點轉換爲UTF8?
- 4. 簡單的方法將c代碼轉換爲x86程序集?
- 5. 將utf8代碼點字符串轉換爲utf8 <U+0161>轉換爲utf8
- 6. 將unicode字符串轉換爲utf8
- 7. 有沒有簡單的方法將MooTools代碼轉換爲JQuery代碼?
- 8. 將Unicode轉換爲ASCII的代碼
- 9. 簡單的方法將php序列化的字符串轉換爲utf8?
- 10. 將簡單的C代碼轉換爲CUDA代碼
- 11. 將swf橫幅廣告轉換爲html的最簡單方法
- 12. 最簡單的方法將int轉換爲UInt32按位?
- 13. Java中將String轉換爲UUID的最簡單方法
- 14. 將列表轉換爲Java集合的最簡單方法
- 15. 將EJB 2.0項目轉換爲EJB 3.0的最簡單方法
- 16. 將TXT批量轉換爲PDF的最簡單方法
- 17. 將ndarray轉換爲cv :: Mat的最簡單方法是什麼?
- 18. 將xml轉換爲html最簡單的方法是什麼?
- 19. 將Blob轉換爲字節數組的最簡單方法
- 20. 將Json轉換爲Xml的最簡單方法
- 21. 將數字轉換爲年和月的最簡單方法
- 22. 將NSString轉換爲Cocoa等價貨幣的最簡單方法
- 23. 將C#6語法的簡單代碼轉換爲Vb.Net
- 24. 如何將UTF8十六進制轉換爲Python中的Unicode代碼點
- 25. 簡單的TRUE代碼轉換爲FALSE
- 26. 將PHP方法轉換爲Java代碼
- 27. 更優雅,更簡單的將代碼點轉換爲UTF-8的方法
- 28. 將csv中的unicode轉換爲純文本的最佳方法?
- 29. 將單詞轉換爲Unicode
- 30. 有沒有辦法將unicode轉換爲最接近的ASCII碼?
無論如何我最終還是跟iconv一起去。這看起來似乎過度殺傷,但它似乎也是唯一真正的解決方案,而不引入外部依賴。 – 2008-10-27 19:53:41
那麼,爲什麼不接受@ JesperE的答案,並upvote它。 – tvanfosson 2008-10-27 19:55:39
當產品中的錯誤得到修復或者引入了更好的工具,而不是當提問者不再對這個答案感興趣時,我認爲使用「不再相關」...... – 2008-10-27 21:06:09