平顶山建设网站,网上开店的好处,设计衣服网站,福州外贸网站建设推广在计算机中#xff0c;任何的文字都是以指定的编码方式存在的#xff0c;在 Java 程序的开发中最常见的是 ISO8859-1、GBK/GB2312、Unicode、 UTF 编码。
Java 中常见编码说明如下#xff1a; ISO8859-1#xff1a;属于单字节编码#xff0c;最多只能表示 0~255 的字符范…在计算机中任何的文字都是以指定的编码方式存在的在 Java 程序的开发中最常见的是 ISO8859-1、GBK/GB2312、Unicode、 UTF 编码。
Java 中常见编码说明如下 ISO8859-1属于单字节编码最多只能表示 0~255 的字符范围。GBK/GB2312中文的国标编码用来表示汉字属于双字节编码。GBK 可以表示简体中文和繁体中文而 GB2312 只能表示简体中文。GBK 兼容 GB2312。Unicode是一种编码规范是为解决全球字符通用编码而设计的。UTF-8 和 UTF-16 是这种规范的一种实现此编码不兼容 ISO8859-1 编码。Java 内部采用此编码。UTFUTF 编码兼容了 ISO8859-1 编码同时也可以用来表示所有的语言字符不过 UTF 编码是不定长编码每一个字符的长度为 1~6 个字节不等。一般在中文网页中使用此编码可以节省空间。在程序中如果处理不好字符编码就有可能出现乱码问题。例如现在本机的默认编码是 GBK但在程序中使用了 ISO8859-1 编码则就会出现字符的乱码问题。就像两个人交谈一个人说中文另外一个人说英语语言不同就无法沟通。为了避免产生乱码程序编码应与本地的默认编码保持一致。
本地的默认编码可以使用 System 类查看。Java 中 System 类可以取得与系统有关的信息所以直接使用此类可以找到系统的默认编码。方法如下所示
public static Properties getProperty()查看 JVM 的默认编码代码如下
public static void main(String[] args) {// 获取当前系统编码System.out.println(系统默认编码 System.getProperty(file.encoding));
}运行结果如下
系统默认编码GBK可以看出现在操作系统的默认编码是 GBK。
示例乱码的产生。现在本地的默认编码是 GBK下面通过 ISO8859-1 编码对文字进行编码转换。如果要实现编码的转换可以使用 String 类中的 getBytes(String charset) 方法此方法可以设置指定的编码该方法的格式如下
public byte[] getBytes(String charset);
示例代码如下
public class Test {public static void main(String[] args) throws Exception {File f new File(D: File.separator test.txt);// 实例化输出流OutputStream out new FileOutputStream(f);// 指定ISO8859-1编码byte b[] 百度搜索引擎.getBytes(ISO8859-1);// 保存转码之后的数据out.write(b);// 关闭输出流out.close();}
}运行结果如下 因为编码不一致所以在保存时出现了乱码。在 Java 的开发中乱码是一个比较常见的问题乱码的产生就有一个原因即输出内容的编码与接收内容的编码不一致。