Java中字符串的编码使用

主要分析总结Java中字符串的编码使用,编码表的概述以及常用方法;在文件的读写过程中由于格式存在问题出现乱码:此时最简单的方法是编码保持前后必须保持一致即可。以下是Java编码使用案例代码:

package com.qx;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
/*
 * 编码表:把计算机底层的二进制数据转换成我们能看到的字符
 * 		ASCII
 * 		GB2312	---	GBK
 * 		Unicode	所有的字符都占2个字节
 * 		UTF-8	长度可变的码表
 * 		ANSI:本地编码表	gbk
 * Java中的字符串默认使用的ANSI(gbk)
 * 注意:将新建的Encoder.txt文件右键Properties转换成UTF-8格式
 */
public class EncoderDemo {
	public static void main(String[] args) throws IOException   {
		method1(); //写文件		
		method2(); //读文件
	}
	private static void method1() throws UnsupportedEncodingException,FileNotFoundException, IOException {
		String s = "我爱学习,我爱Java";
		//byte[] bys = s.getBytes();//通过默认编码转换成数组
		byte[] bys = s.getBytes("UTF-8");
		FileOutputStream fos = new FileOutputStream("Encoder.txt");
		fos.write(bys);
		fos.close();
	}
	private static void method2() throws FileNotFoundException, IOException,UnsupportedEncodingException {
		FileInputStream fis = new FileInputStream("Encoder.txt");
		byte[] bys = new byte[1024];
		int len = fis.read(bys);
		System.out.println(new String(bys,0,len,"UTF-8"));
	}
}

Java中字符串编码的常用方法:

构造方法(字节数组转字符串):
String() 初始化一个新创建的String对象,使其表示一个空字符序列
String(byte[] bytes) 使用平台的默认字符集解码指定的byte数组,构造一个新的String
String(byte[] bytes, Charset charset) 使用指定的charset解码指定的byte数组,构造一个新的String
成员方法(字符串转字节数组)
	getBytes() 使用平台的默认字符集将此String编码为byte序列,并将结果存储到一个新的byte数组中
	getBytes(Charset charset)使用给定的charset将此String编码到byte序列,并将结果存储到新的byte数组

常用字符与ASCII代码对照表:
Java中字符串的编码使用_第1张图片

你可能感兴趣的:(Java)