JAVA中的汉字编码问题

一、常见的字符编码
计算机中存储、处理和传送的数据是二进制的形式。各种文字、符号也必须用二进制数编码来表示,因此出现了一些不同形式的字符编码。
1.ASCII码
ASCII码是美国标准信息交换代码(American Standard Code for Information Interchange),是微机中最常采用的编码。ASCII有7位码和8位

码两种版本。国际通用的7位ASCII码是用7位二进制数表示一个字符编码,其编码范围从现在起000000B~1111111B,其有27?=128个不同的编码

值,相应可以表示128个不同字符的编码。
扩展的ASCII码使用8位二进制表示一个字符的编码,可表示28=256个不同字符的编码???。
2.ISO8859-1码
ISO8859-1码属于单字节编码,最多能表示的字符范围是0-255,应用于英文系列。由于是单字节编码,和计算机内表示单位一致,所以很多时

候仍旧使用iso8859-1编码来表示。
3.GB2312编码
GB2312编码是中华人民共和国国家标准汉字信息交换用的编码,是由国家标准总局发布的关于简化汉字的编码,通行于中国大陆地区及新加坡

,简称国标码。两个字节中,第一个字节(高字节)的值为区号值加32(20H),第二个字符(低字节)的值为位号值32(20H),用这两个值

来表示一个汉字的编码。该字符集是一般中文操作系统默认的字符集。
4.GBK编码
GBK编码是GB2312的扩展,是向上兼容的。它的编码范围是0x8140至0xfefe,其所有字符都可以一一映射至Unicode2.0,实际上Java提供了对

GBK字符集的支持。
5.Unicode编码
Unicode编码是微软提出的解决多国字符问题的多字节等长16位编码,它对英文字符采取前面加“0”字节的策略实现等长兼容。如“A”字符的

ASCII码为0x41,Unicode码为0x00,0x41。所以如果将高位字节去除,可以近似地将Unicode转换为ISO8859-1,它是Java内码的编码方式。

6.UTF-8编码

UTF-8是UNICODE的一种变长字符编码,由Ken Thompson于1992年创建。现在已经标准化为RFC 3629。UTF-8用1到6个字节编码UNICODE字符。如果UNICODE字符由2个字节表示,则编码成UTF-8很可能需要3个字节,而如果UNICODE字符由4个字节表示,则编码成UTF-8可能需要6个字节。用4个或6个字节去编码一个UNICODE字符可能太多了,但很少会遇到那样的UNICODE字符。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值