欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

编码与解码基础

程序员文章站 2022-04-18 18:30:32
...
package com.cyj.Convert;

import java.io.UnsupportedEncodingException;

public class ConvertBase {
	
	public static void main(String[] args) throws UnsupportedEncodingException {
		
		String str = "我们又是冠军!";
		byte[] data = str.getBytes();
		
		//字节数不完整,长度丢失,造成乱码
		System.out.println(new String(data,0,3));
				
		bianma();
	}

	
	/**
	 * 编码与解码集需要统一
	 * @throws UnsupportedEncodingException
	 */
	public static void bianma() throws UnsupportedEncodingException {
		
		//解码byte ——> char
		String str = "我们又是冠军!"; //默认的gbk  在exlipes中依次点击状态栏Windows,preference,general,workpeace就会发现默认编码解码的方式
		
		//编码char ——> byte
		byte[] data = str.getBytes();
		System.out.println(new String(data));//重新对字节装换为字符,都是采用默认的
		
		data =  str.getBytes("utf-8"); //将编码字符集设为utf-8
		System.out.println(new String(data));//解码还是默认的gbk 输出时乱码
		
		System.out.println(new String(data,"utf-8"));//解码设定为utf-8,编码解码集相同,输出正确
		
	}
}