java_io学习_编码

package io;

public class encodingDemo{

public static void main(String[] args) throws Exception{
// TODO Auto-generated method stub
String s="李雪涛ja";//转换成字节序列用的是项目默认编码
byte[] byte1=s.getBytes();
for(byte b:byte1)
//把字节(转换成了int)以16进制显示
System.out.print(Integer.toHexString(b&0xff)+" ");
System.out.println();
byte[] byte2=s.getBytes("gbk");
//gbk编码英文占1个字节,中文占2个字节
for(byte b:byte2){
System.out.print(Integer.toHexString(b&0xff)+" ");
}
System.out.println();
byte[] byte3=s.getBytes("utf-8");
//utf-8中中文占3个字节,英文占1个字节
for(byte b:byte3)
System.out.print(Integer.toHexString(b&0xff)+" ");
//java是双字节utf-16
byte[] byte4=s.getBytes("utf-16be");
for(byte b:byte4)
System.out.print(Integer.toHexString(b&0xff)+" ");
System.out.println();
/*
* 当你的字节序列是某种编码是,这个时候想把字节序列变为
* 字符串也需要用这种编码方式,否则会乱码
* */
String str1=new String(byte4);
System.out.println(str1);
String str2=new String(byte4,"utf-16be");
System.out.println(str2);
/*
* 文本文件 就是字节序列
* 可以试任意编码的字节序列
* 如果我们在中文机器上直接创建文本文件,那么该文本文件只认识ansi编码
*/
}

}

输出:

c0 ee d1 a9 cc ce 6a 61
c0 ee d1 a9 cc ce 6a 61
e6 9d 8e e9 9b aa e6 b6 9b 6a 61 67 4e 96 ea 6d 9b 0 6a 0 61
gN栮m? j a

李雪涛ja

转载于:https://www.cnblogs.com/jasonlixuetao/p/5551540.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值