Unicode的知识积累

・ 对应Unicode,UTF-8的编码可参考如下:

    普通英文占一个字节 格式是 0xxxxxxx 
    两个字节 格式是  110xxxxx 10xxxxxx 
    三个字节格式是   1110xxxx 10xxxxxx 10xxxxxx 
    四个字节格式是   11110xxx 10xxxxxx 10xxxxxx 10xxxxxx 
    如果一个完整的字是N个字节,那么首字节就有N个1加上0 , 后面的是数据区. 
    从第二个字节开始,前两个是10固定格式的,用于错误校验.后面的6位才是有用的.

    看个例子:以全角的逗号","为例

    (1), 其Unicode是:FF0C(H),即:1111 1111 0000 1100(B)有人会问,怎么获

            得这个值呢?有很多方法,我推荐可以用 “ 开始 → 运行 → 输入“charmap ”,

            打开"字符映射表",在其中进行查询即可。

    (2), 好了,在用Java环境中,用以下语句获得其UTF-8的值:

 

    String str = ",";

    byte[] byteArr = str.getBytes(); //Java环境中默认的就是UTF-8编码,注意不是Web环境

    for(byte by : byteArr) {

       System.out.print(String.format("%X", by) + "\t");

    }

 

    其结果就是:EF        BC        8C,即: 1110 1111 1011 1100 1000 1100(B)

    我将校验区都标上了红色,我们关心的是数据区,再整理一下看看,又成了 1111 1111 0000 1100(B),

    即:FF0C(H),同上面所得到的Unicode值相同了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值