学习 unicode

前记

     应用A和B交换数据, 借助中间件T. 数据格式: 字段分割符采用\u0005, 行分割符采用\u0001。

Q:如何理解\u0005和\u0001?
A:\u0005和\u0001是unicode值。  java中,char类型用UTF-16编码描述一个代码单元

知识点
1.  Unicode编码单元可以表示为16进制值,其范围从\u0000到\uffff。因此\u表示转义字符, 表示一个Unicode代码单元.
相对于其他转义字符,\u转义符可以出现在字符常量或字符串的引号之外.

2. 利用System.out.println('\u0005'); 什么也没输出, 这是因为unicode编码里面是控制字符,不是打印字符。

Demo
public class CharacterDemo {
    public static void main(String[] args) {
        char ctrlChar1 = '\u0001';
        char ctrlChar5 = '\u0005';
        char tab = '\u0009';
        char ni = '\u4f60';
        char hao = '\u597d';
        System.out.println('\u0005');
        System.out.println(ctrlChar1 + ctrlChar5); // 6, 说明两个char相加, 本质是code值相加
        System.out.println(ctrlChar1 + "" + ctrlChar5); // 
        System.out.println(tab+1); // 10
        System.out.println("ha"+tab+"ha"); // ha    ha
        System.out.println("ha"+"\t"+"ha");// ha    ha 
        System.out.println(ni + hao); //  43229
        System.out.println(ctrlChar5 + "" + ni + hao); // 你好
    }
}


你可能感兴趣的:(学习 unicode)