• java中char的使用注意事项


    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 = "uD835uDD46uD835uDD35";

    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);
    }

  • 相关阅读:
    Atos cannot get symbols from dSYM of archived application
    iOS 中捕获程序崩溃日志 (2014-04-22 17:35:59)
    mysql创建索引
    maven整理项目spring配置文件加载问题
    js继承
    创建对象的方式
    js闭包
    js两种创建对象方式
    shiro-web整合
    shiro连接数据库
  • 原文地址:https://www.cnblogs.com/damon-blogs/p/14297166.html
Copyright © 2020-2023  润新知