Javas char是16位,但Unicode有更多的字符 - Java如何處理?Java 16位字符如何支持Unicode?
回答
Java字符串是UTF-16(大端),所以Unicode代碼點可以是一個或兩個字符。在此編碼下,Java可使用字符0xD835 0xDD0A
(字符串文字"\uD835\uDD0A"
)表示代碼點U + 1D50A(MATHEMATICAL FRAKTUR CAPITAL G)。 Character類提供了用於轉換代碼點/從代碼點轉換的方法。
// Unicode code point to char array
char[] math_fraktur_cap_g = Character.toChars(0x1D50A);
在計算中,UTF-16(16位 UCS/Unicode轉換格式)是 Unicode的可變長度字符編碼 ,能編碼 整個Unicode劇目。 編碼形式將每個字符映射到一個16位字的序列 。字符 被稱爲代碼點,而16位字被稱爲代碼單元。 對於基本文字 多語言平面(BMP),得到的 編碼是一個單一的16位字。對於其他平面中的 字符, 編碼將產生一對 16位字,一起稱爲 替代對。無論代碼點是什麼,除了替代碼點 U + D800-U + DFFF(它們不是 個字符)以外,所有可能的代碼 指向UTF-16的唯一地址映射爲U + 0000至U + 10FFFF, 當前或未來的人物分配 或使用。
請參閱我以前的答案,以瞭解如何正確地遍歷Java字符串中的所有字符。 http://stackoverflow.com/questions/1527856/how-can-i-iterate-through-the-unicode-codepoints-of-a-java-string/1527891#1527891 – 2009-12-21 18:02:05
Java對字符串使用UTF-16 - 基本上意味着字符的寬度是可變的。它們中的大多數適合16位,但基本多語言窗格之外的那些佔用32位。這與UTF-8方案非常相似。
- 1. grep的Unicode的支持16
- 2. Hive支持Unicode字符
- 3. IronPython的弦上的16位Unicode字符
- 4. IE比Unicode更能支持Unicode字符?
- 5. 從TCHAR轉換爲字符*在Unicode中支持unicode字符
- 6. PHP unicode的16位
- 7. 支持FPDF庫中的unicode字符
- 8. 存儲過程來支持Unicode字符
- 9. UILabel只支持某些Unicode字符
- 10. 支持Unicode的字符串(1)程序
- 11. 良好支持的Unicode字符列表
- 12. 如何在Android中支持unicode字體?
- 13. 在java和python中支持Unicode字符串
- 14. 在linux和gcc中支持16位wchar_t
- 15. 支持16位地址的I2c
- 16. 如何使用不支持Unicode字符的庫
- 17. 如何將不支持的字符加載到Teradata Unicode列中?
- 18. 如何檢測.NET 4.0中的EBCDIC是否支持Unicode字符?
- 19. android支持unicode?
- 20. PDFTable Unicode支持
- 21. C11 Unicode支持
- 22. python unicode支持
- 23. InstallShield2009 Unicode支持
- 24. System.Directory.getDirectoryContents Unicode支持
- 25. Java Unicode字符
- 26. 將字符轉換爲16位的unicode編碼
- 27. 不支持16位應用程序使用命令提示符
- 28. X11:如何正確支持每像素16位顯示
- 29. 如何在Delphi 2010中使用串口發送Unicode字符(16位)?
- 30. Java中支持Unicode的CSV解析器
爲什麼我們不使用'int'類型' math_fraktur_cap_g'讀取非BMP的代理對?如[這裏]所述(https://stackoverflow.com/a/13112474/3317808) – overexchange 2017-11-09 06:54:43