中文转成UTF-8的过程

首先运用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
       */

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值