首页 > 编程语言 > 详细

java中char的使用注意事项

时间:2021-01-19 12:45:18      阅读:36      评论:0      收藏:0      [点我收藏+]

java内部使用unicode字符集

  unicode字符集中的字符超出了2^16个,使用2个字节(16位)已经不能表示所有的字符了。具体使用几个字节表示一个字符与具体的编码方式有关

  utf8使用1-8个字节表示一个字符

  utf16使用2个字节或者4个字节表示一个字符

  utf32使用4个字节表示一个字符

 java内部使用utf16编码方式

  当字符的码点在u+0000 - u+FFFF之间,则使用两个字节表示一个字符

     当字符的码点在u+FFFF-u+10FFFF之间,则使用4个字节表示一个字符

   utf16编码方式参照:https://zhuanlan.zhihu.com/p/106379925

java中char类型表示一个代码单元(16位),一些辅助字符(4个字节)则需要两个2个代码单元表示(2个char)。所以在java中字符串转char需要特别注意。

例如以下的问题:

@Test
public void testExtendChar(){

String str = "\uD835\uDD46\uD835\uDD35";

System.out.println("=======");

System.out.println(str);

System.out.println("=======");


for (char c : str.toCharArray()) {
System.out.println(c);
}


System.out.println("=======");


char ch = str.charAt(0);
System.out.println(ch);
}

技术分享图片

 

java中char的使用注意事项

原文:https://www.cnblogs.com/damon-blogs/p/14297166.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!