编码:字符串到字节
package com.sxt.io;
import java.io.File;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
/**
* 编码: 字符串-->字节
* @author
*
*/
public class ContentEncode {
public static void main(String[] args) throws IOException {
String msg ="努力学习a";
//编码: 字节数组
byte[] datas = msg.getBytes(); //默认使用工程的字符集
System.out.println(datas.length);
//编码: 其他字符集
datas = msg.getBytes("UTF-16LE");
System.out.println(datas.length);
datas = msg.getBytes("GBK");
System.out.println(datas.length);
}
}
解码:字节到字符串
package com.sxt.io;
import java.io.UnsupportedEncodingException;
/**
* 解码: 字节->字符串
* @author
*
*/
public class ContentDecode {
public static void main(String[] args) throws UnsupportedEncodingException {
String msg ="努力学习a";
//编码: 字节数组
byte[] datas = msg.getBytes(); //默认使用工程的字符集
//解码: 字符串 String(byte[] bytes, int offset, int length, String charsetName)
msg = new String(datas,0,datas.length,"utf8");
System.out.println(msg);
//乱码:
//1)、字节数不够
msg = new String(datas,0,datas.length-2,"utf8");
System.out.println(msg);
msg = new String(datas,0,datas.length-1,"utf8");
System.out.println(msg);
//2)、字符集不统一
msg = new String(datas,0,datas.length-1,"gbk");
System.out.println(msg);
}
}