常见字符编码
在程序中如果没有处理好字符的编码,就有可能出现乱码问题。下面我们一起为大家介绍在开发中常见的编码有
哪些。
在计算机世界里,任何的文字都是以指定的编码方式存在的。
常见编码有:ISO8859-1、GBK/GB2312、unicode、UTF。
iso8859-1:
编码属于单字节编码,最多只能表示0——255的字符范围,主要在英文上应用。
GBK/GB2312:
中文的国际编码,专门用来表示汉字,是双字节编码
unicode:
java中就是使用此编码方式,也是最标准的一种编码,是使用16进制表示的编码。但此编码不兼容iso8859-1编码。
UTF:
由于unicode不支持iso8859-1编码,而且容易占用更多的空间,而且对于英文母也需要使用两个字节编码,这样使
用unicode不便于传输和储存,因此产生了utf编码,utf编码兼容了iso8859-1编码,也可以用来表示所有语言字符,
不过utf是不定长编码,每个字符的长度从1-6个字节不等,一般在中文网页中使用此编码,因为这样可以节省空
间。
造成乱码的根本原因:
1、程序使用的编码与本机的编码不统一
2、在网络中,客户端与服务端编码不统一(WEB开发中出现的乱码情况)
package com.vince;
import java.io.UnsupportedEncodingException;
public class CodeDemo {
public static void main(String[] args) {
//通常产生乱码的情况是,两个不兼容的编码相互转换
String info = "小河流水哗啦啦"; //GB2312
try {
String newInfo = new String(info.getBytes("gb2312"),"iso8859-1");
System.out.println(newInfo);
String newInfo2 = new String(newInfo.getBytes("iso8859-1"),"gb2312");
System.out.println(newInfo2);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
}
}