文件的编码

来源:互联网 发布:混沌与秩序在线数据库 编辑:程序博客网 时间:2024/05/21 08:57
package javaSE;


import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.util.Arrays;


public class Maopao {
public static void main(String[] args) throws IOException {
String s="慕课ABC";
//utf-8编码中文占三个字节,英文占一个字节
byte[] byte1=s.getBytes();//转换成字节序列用的是项目的默认编码utf-8
for (byte b : byte1) {
//把字节(转换成了int)以16进制的方式显示
System.out.print(Integer.toHexString(b&0xff)+"  ");
}
System.out.println();
//gbk编码中文占两个字节,英文占一个字节
byte[] byte2=s.getBytes("gbk");
for (byte b : byte2) {
System.out.print(Integer.toHexString(b&0xff)+"  ");
}
System.out.println();
//java 是双字节编码utf-16be 中文占用2个字节,英文占用2个字节
byte[] byte3=s.getBytes("utf-16be");
for (byte b : byte3) {
System.out.print(Integer.toHexString(b&0xff)+"  ");
 }

String st1=new String(byte3);//用项目的默认编码
System.out.println(st1);//会乱码
String st2=new String(byte3,"utf-16be");
System.out.println(st1);
}
//当你的字节序列是某种编码时,这个时候想把字节学列
//变成字符串,也需要用这种编码方式,否则会出现乱码


//文本文件 就是字节序列
//可以是任意编码的字节序列
//如果我们在中文机器上直接创建文本文件,那么该文本文件只认识ansi编码
//


}
0 0
原创粉丝点击