Java中getBytes()的用法

本文通过示例展示了在Java中如何使用不同字符集进行字符串的编码和解码,包括getBytes和new String方法的使用,以及当字符集不匹配时可能导致的乱码问题。
package carl.com;

import java.io.UnsupportedEncodingException;

public class GetBytesDemo {
	
	public static void main(String[] args) throws UnsupportedEncodingException {
		**/**
		 * getBytes(String charsetName): 使用指定的字符集将字符串编码为 byte 序列,并将结果存储到一个新的 byte 数组中。
		 * getBytes(): 使用平台的默认字符集将字符串编码为 byte 序列,并将结果存储到一个新的 byte 数组中。
		 * 
		 * new string(byte[],charset):使用指定的字符集将byte序列解码成字符串
		 */**
		
		//定义一个中文字符串;
		String s1 = "我爱我家";
		System.out.println(s1);//输出  我爱我家
		
		String s2 = new String(s1.getBytes("UTF-8"),"UTF-8");//先编码,再解码,都是用的UTF-8,所以输出正确
		System.out.println(s2);//输出  我爱我家
		
		String s3 = new String(s1.getBytes("GBK"),"GBK");
		System.out.println(s3);//输出  我爱我家
		
		String s4 = new String(s1.getBytes("GBK"),"UTF-8");
		System.out.println(s4);//输出  ??????
		
		String s5 = new String(s1.getBytes("UTF-8"),"GBK");
		System.out.println(s5);//输出  鎴戠埍鎴戝
		
		String s6 = new String(s1.getBytes(),"GBK");
		System.out.println(s6);//输出  我爱我家
		
		
	}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值