java编程技术中汉字问题

java编程技术中汉字问题

ID:32265122

大小:82.50 KB

页数:18页

时间:2019-02-02

java编程技术中汉字问题_第1页
java编程技术中汉字问题_第2页
java编程技术中汉字问题_第3页
java编程技术中汉字问题_第4页
java编程技术中汉字问题_第5页
java编程技术中汉字问题_第6页
java编程技术中汉字问题_第7页
java编程技术中汉字问题_第8页
java编程技术中汉字问题_第9页
java编程技术中汉字问题_第10页
资源描述:

《java编程技术中汉字问题》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、中文编码的处理每个国家(或区域)都规定了计算机信息交换用的字符编码集,如美国的扩展ASCII码,中国的GB2312-80,日本的JIS等,作为该国家/区域内信息处理的基础,有着统一编码的重要作用。字符编码集按长度分为SBCS(单字节字符集),DBCS(双字节字符集)两大类。早期的软件(尤其是操作系统),为了解决本地字符信息的计算机处理,出现了各种本地化版本(L10N),为了区分,引进了LANG,Codepage等概念。但是由于各个本地字符集代码范围重叠,相互间信息交换困难;软件各个本地化版本独立维护成本较高。因此有必要将本地化工作中的

2、共性抽取出来,作一致处理,将特别的本地化处理内容降低到最少。这也就是所谓的国际化(I18N)。各种语言信息被进一步规范为Locale信息。处理的底层字符集变成了几乎包含了所有字形的Unicode。现在大部分具有国际化特征的软件核心字符处理都是以Unicode为基础的,在软件运行时根据当时的Locale/Lang/Codepage设置确定相应的本地字符编码设置,并依此处理本地字符。在处理过程中需要实现Unicode和本地字符集的相互转换,甚或以Unicode为中间的两个不同本地字符集的相互转换。这种方式在网络环境下被进一步延伸,任何网络

3、两端的字符信息也需要根据字符集的设置转换成可接受的内容。Java语言内部是用Unicode表示字符的,遵守UnicodeV2.0。Java程序无论是从/往文件系统以字符流读/写文件,还是往URL连接写HTML信息,或从URL连接读取参数值,都会有字符编码的转换。这样做虽然增加了编程的复杂度,容易引起混淆,但却是符合国际化的思想的。从理论上来说,这些根据字符集设置而进行的字符转换不应该产生太多问题。而事实是由于应用程序的实际运行环境不同,Unicode和各个本地字符集的补充、完善,以及系统或应用程序实现的不规范,转码时出现的问题时时困扰

4、着程序员和用户。2.GB2312-80,GBK,GB18030-2000汉字字符集及Encoding其实解决JAVA程序中的汉字编码问题的方法往往很简单,但理解其背后的原因,定位问题,还需要了解现有的汉字编码和编码转换。GB2312-80是在国内计算机汉字信息技术发展初始阶段制定的,其中包含了大部分常用的一、二级汉字,和9区的符号。该字符集是几乎所有的中文系统和国际化的软件都支持的中文字符集,这也是最基本的中文字符集。其编码范围是高位0xa1-0xfe,低位也是0xa1-0xfe;汉字从0xb0a1开始,结束于0xf7fe;GBK是G

5、B2312-80的扩展,是向上兼容的。它包含了20902个汉字,其编码范围是0x8140-0xfefe,剔除高位0x80的字位。其所有字符都可以一对一映射到Unicode2.0,也就是说JAVA实际上提供了GBK字符集的支持。这是现阶段Windows和其它一些中文操作系统的缺省字符集,但并不是所有的国际化软件都支持该字符集,感觉是他们并不完全知道GBK是怎么回事。值得注意的是它不是国家标准,而只是规范。随着GB18030-2000国标的发布,它将在不久的将来完成它的历史使命。GB18030-2000(GBK2K)在GBK的基础上进一步

6、扩展了汉字,增加了藏、蒙等少数民族的字形。GBK2K从根本上解决了字位不够,字形不足的问题。它有几个特点,它并没有确定所有的字形,只是规定了编码范围,留待以后扩充。编码是变长的,其二字节部分与GBK兼容;四字节部分是扩充的字形、字位,其编码范围是首字节0x81-0xfe、二字节0x30-0x39、三字节0x81-0xfe、四字节0x30-0x39。它的推广是分阶段的,首先要求实现的是能够完全映射到Unicode3.0标准的所有字形。它是国家标准,是强制性的。现在还没有任何一个操作系统或软件实现了GBK2K的支持,这是现阶段和将来汉化的

7、工作内容。Unicode的介绍......就免了吧。JAVA支持的encoding中与中文编程相关的有:(有几个在JDK文档中未列出)ASCII7-bit,同ascii7ISO8859-18-bit,同8859_1,ISO-8859-1,ISO_8859-1,latin1...GB2312-80同gb2312,gb2312-1980,EUC_CN,euccn,1381,Cp1381,1383,Cp1383,ISO2022CN,ISO2022CN_GB......GBK(注意大小写),同MS936UTF8UTF-8GB18030(现在只

8、有IBMJDK1.3.?有支持),同Cp1392,1392JAVA语言采用Unicode处理字符.但从另一个角度来说,在java程序中也可以采用非Unicode的转码,重要的是保证程序入口和出口的汉字信息不失真。如完全采

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。