基于Java字符编码的使用详解

zhangyitian90

zhangyitian90

2016-02-19 09:53

有一种朋友不在生活里,却在生命力;有一种陪伴不在身边,却在心间。图老师即在大家的生活中又在身边。这么贴心的服务你感受到了吗?话不多说下面就和大家分享基于Java字符编码的使用详解吧。

1,什么是字符编码?

    字符(Character)是文字与符号的总称,包括文字、图形符号、数学符号等。一组抽象字符的集合就是字符集(Charset)。字符集的出现是为了信息进行传播储存提供方便。目前常用到字符集有:ASCII,ISO 8859-1,Unicode,GB2312

2,各种编码集有哪些特点?

ASCII:

    ASCII(American Standard Code for Information Interchange,美国信息交换标准代码)是基于拉丁字母的一套电脑编码系统。

    包含内容:控制字符(回车,退格,换行键),可显示式字符(英文大小写,阿拉伯数字和西文符号)。

    技术特征:7位(bits)表示一个字符,共128字符

    不足之处:只能表示英语,想西欧,东亚和拉美地区的语言符号无法表示。

ISO 8859-1:

    ISO 8859-1,正式编号为ISO/IEC 8859-1:1998,又称Latin-1或“西欧语言”,是国际标准化组织内ISO/IEC 8859的第一个8位字符集。

    它以ASCII为基础,在空置的0xA0-0xFF的范围内,加入96个字母及符号,藉以供使用附加符号的拉丁字母语言使用。曾推出过 ISO 8859-1:1987 版。

    包含内容:ASCII编码包含的,部分西欧使用的语言。

    技术特征:8位表示一个字符。

Unicode:

    Unicode字符集编码是Universal Multiple-Octet Coded Character Set 通用多八位编码字符集的简称,是由一个名为 Unicode 学术学会(Unicode Consortium)的机构制订的字符编码系统,支持现今世界各种不同语言的书面文本的交换、处理及显示。该编码于1990年开始研发,1994年正式公布,最新版本是2005年3月31日的Unicode 4.1.0。

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)

    技术特征:16位编码,每个字符占用2个字节。一个字符的Unicode编码是确定的。但是在实际传输过程中,由于不同系统平台的设计不一定一致,以及出于节省空间的目的,对Unicode编码的实现方式有所不同。Unicode的实现方式称为Unicode转换格式(Unicode Transformation Format,简称为UTF)。如果一个7位的ASCII字符的Unicode文件,在传输过程中如果使用2个字节的原Unicode编码传输会造成比较大的浪费。对于这种情况,可以使用UTF-8编码,这是一种变长编码,它将基本7位ASCII字符仍用7位编码表示,占用一个字节(首位补0)。而遇到与其他Unicode字符混合的情况,将按一定算法转换,每个字符使用1-3个字节编码,并利用首位为0或1进行识别。

GB2312:

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)

    GB 2312 或 GB 2312-80 是中国国家标准简体中文字符集,全称《信息交换用汉字编码字符集·基本集》,又称GB0,由中国国家标准总局发布,1981年5月1日实施。GB2312编码通行于中国大陆;新加坡等地也采用此编码。中国大陆几乎所有的中文系统和国际化的软件都支持GB 2312。

    包含内容:6763个汉字,其中一级汉字3755个,二级汉字3008个;同时收录了包括拉丁字母、希腊字母、日文平假名及片假名字母、俄语西里尔字母在内的682个字符。

    技术特征:每个汉字及符号以两个字节来表示。第一个字节称为“高位字节”,第二个字节称为“低位字节”。“高位字节”使用了0xA1-0xF7,“低位字节”使用了0xA1-0xFE0xA0)。 由于一级汉字从16区起始,汉字区的“高位字节”的范围是0xB0-0xF7,“低位字节”的范围是0xA1-0xFE,占用的码位是72*94=6768。其中有5个空位是D7FA-D7FE。

展开更多 50%)
分享

猜你喜欢

基于Java字符编码的使用详解

编程语言 网络编程
基于Java字符编码的使用详解

基于Java回顾之I/O的使用详解

编程语言 网络编程
基于Java回顾之I/O的使用详解

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

基于Java回顾之多线程同步的使用详解

编程语言 网络编程
基于Java回顾之多线程同步的使用详解

JAVA及相关字符集编码问题研究

Java JAVA基础
JAVA及相关字符集编码问题研究

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

基于JAVA中使用Axis发布/调用Webservice的方法详解

编程语言 网络编程
基于JAVA中使用Axis发布/调用Webservice的方法详解

Java反转字符串和相关字符编码的问题解决

编程语言 网络编程
Java反转字符串和相关字符编码的问题解决

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

如何玩转Win8超炫的触摸键盘

如何玩转Win8超炫的触摸键盘

mysql 常用命令集锦[绝对精华]

mysql 常用命令集锦[绝对精华]
下拉加载更多内容 ↓