java编码

public class EncodeDemo {


public static void main(String[] args) throws Exception {

String s = "慕课ABC";
//该项目中默认为gbk编码  由输出可知 该编码下中文字符占2字节  英文字符占1个字节
byte[] bytes = s.getBytes();
for(byte b : bytes){
System.out.print(Integer.toHexString(b & 0xff)+" " );//int 为32位的
}
System.out.println();
//若改为utf-8编码获取字节编码  由输出可知 该编码下中文字符占3字节  英文字符占1个字节
byte[] bytes2 = s.getBytes("utf-8");
for(byte b : bytes2){
System.out.print(Integer.toHexString(b & 0xff)+" " );//int 为32位的
}
System.out.println();
// 若改为java内部默认编码unicode (utf-16) 可知 汉字英文字符均占用2个字节
byte[] bytes3 = s.getBytes("utf-16");
for(byte b : bytes3){
System.out.print(Integer.toHexString(b & 0xff)+" " );//int 为32位的
}
System.out.println();
System.out.println(new String(bytes2));//将utf-8编码下的字节数组转为字符串时,因为该项目下默认编码为gbk所以出现乱码
System.out.println(new String(bytes2,"utf-8"));//改为指定默认编码即可
}

}

输出如下所示:


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值