首先运用java得到中文的Unicode字符集(2进制表示)
public class ToUnicode{
public static void main(String[] args){
String cn="吴";
System.out.println("吴敏的Unicode字符2制是:"+toUnicode(cn));
}
private static String toUnicode(String xx){
char[] chars=xx.toCharArray();
String str="";
for(int i=0;i<chars.length;i++){
str+=""+Integer.toString(chars[i],2);
}
return str;
}
}
验算方法:
/*
吴的Unicode二进制是: \u101010000110100
吴的Unicode 16制 是: \u5434
以下演算吴的UTF-8进值是:1110 0101 1001 0000 1011 0100
(1)unicode转uft是原数据二进制有位数有多个个八位,要至少多1个字节,吴需3个字节
(2)吴有3个字节,所以前面3个1,即1110开头 后续两个字节的前两位为10.
(3)即得到 110..... 10...... 10...... 其中每个.都可以补充一位二进制数0或1
其余位数将原Unicode的二进制数按顺序补充,最后求得到的utf编码的二进制:1110 0101 1001 0000 1011 0100
(4)吴的utf-8编码二进制转成16进制就是 :e5 90 B4 所以吴的utf-8编码就是E5 90 B4
*/