字符集编码学习

来源:互联网 发布:巨人网络市值 编辑:程序博客网 时间:2024/06/09 22:56

很多文字都是采用以下这文章(转):

https://www.ibm.com/developerworks/cn/java/j-lo-chinesecoding/index.html


1、为什么要编码?

世界语言有多种,每种写法上又不一样,可现在的计算机只能识别机器语言(二进制),再往上走点就是只能识别数字和字母,谁让计算机是老外发明的呢?所以除了英语之外的其它语言都需要进行编码和解码的步骤。


2、位、字节、字符

一个数字和英文字母表示1字节,而1字节又是8位,至于字符一般是占两个字节,为什么说一般情况是因为不同的字符编码情况还有些不同,下面我们来看看:

ASCII码:它总共有128个,用一个字节的低7位表示;

ISO-8859-1码:它涵盖了大多数西欧的语言,应用很广泛。但仍然是单字节编码,总共能表示256个字符;

GBK码:

UTF-16码:固定为两个字节,虽然能够涵盖所有但是在空间上有些浪费,比方说一个英文字母也占用两个字节,所以常用UTF-8;

UTF-8码:它比UTF-16更加灵活,根据字符类型采用了一种可变长的技术,从而应用广泛;


3、查看运行环境采用何种编码

System.out.print(System.getProperty("file.encoding"));