day7编码解码

一、GBK

(英文)

英文用一个字节存储,兼容ASCII,二进制前面补0

(汉字)

汉字两个字节存储

高位字节二进制一定以1开头,转成十进制之后是一个负数(与英文区分)

二:Unicode

1、UTF-8使用

·一个字节:ASCIl字符

·两个字节:带有变音符号拉丁文希腊文西里尔字母亚美尼亚语希伯来文阿拉伯文叙利亚文等字母

·三个字节:中日韩文字、东南亚文字、中东文字等

·四个字节:其他极少使用的语言字符

2、UTF-8编码方式(二进制)

1字节0xxxxxxx

2字节110xxxxx 10xxxxxx

3字节1110xxxx 10xxxxxx 10xxxxxx

4字节11110xxx 10xxxxxx 10xxxxxx 10xxxxxx

5字节111110xx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx

6字节1111110x 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx

*  UTF-8是可变长度字符编码,是编码方式而不是字符集字符编码

三、编码&解码

1、编码

getBytes()                                                        使用默认方式进行编码(IDEA默认为UTF-8)

getBytes(String charsetName)                        使用指定方式进行编码

String str="bi编码";

byte[]b1=str.getBytes();

System.out,println(Arrays.toString(b1));             ----------默认方式编码

byte[]b2=set.getBytes(GBK);

System.out,println(Arrays.toString(b2));             ---------GBK方式编码

2、解码

String(byte[] bytes)                                                 使用默认方式进行解码(IDEA默认为UTF-8)

String(byte[] bytes,String charsetName)               使用指定方式进行解码

String str1=new String(b1);

System.out,println(str1); 

String str2=new String(b1,"GBK");

System.out,println(str2); 

注意:编码解码方式要相同,不然会出现乱码

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值