java编程技术中汉字问题的分析及解决

java编程技术中汉字问题的分析及解决

ID:19647397

大小:53.00 KB

页数:9页

时间:2018-10-04

java编程技术中汉字问题的分析及解决_第1页
java编程技术中汉字问题的分析及解决_第2页
java编程技术中汉字问题的分析及解决_第3页
java编程技术中汉字问题的分析及解决_第4页
java编程技术中汉字问题的分析及解决_第5页
资源描述:

《java编程技术中汉字问题的分析及解决》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、以下资料为java培训机构为大家整理。在基于Java语言的编程中,我们经常碰到汉字的处理及显示的问题。一大堆看不懂的乱码肯定不是我们愿意看到的显示效果,怎样才能够让那些汉字正确显示呢?Java语言默认的编码方式是UNICODE,而我们中国人通常使用的文件和数据库都是基于GB2312或者BIG5等方式编码的,怎样才能够恰当地选择汉字编码方式并正确地处理汉字的编码呢?本文将从汉字编码的常识入手,结合Java编程实例,分析以上两个问题并提出解决它们的方案。  现在Java编程语言已经广泛应用于互联网世界,早在Sun公司开发Java语言的时候,就已经考虑到对非英文字符的支持了。Sun公司公

2、布的Java运行环境(JRE)本身就分英文版和国际版,但只有国际版才支持非英文字符。不过在Java编程语言的应用中,对中文字符的支持并非如同JavaSoft的标准规范中所宣称的那样完美,因为中文字符集不只一个,而且不同的操作系统对中文字符的支持也不尽相同,所以会有许多和汉字编码处理有关的问题在我们进行应用开发中困扰着我们。有很多关于这些问题的解答,但都比较琐碎,并不能够满足大家迫切解决问题的愿望,关于Java中文问题的系统研究并不多,本文从汉字编码常识出发,分析Java中文问题,希望对大家解决这个问题有所帮助。  汉字编码的常识  我们知道,英文字符一般是以一个字节来表示的,最常用

3、的编码方法是ASCII。但一个字节最多只能区分256个字符,而汉字成千上万,所以现在都以双字节来表示汉字,为了能够与英文字符分开,每个字节的最高位一定为1,这样双字节最多可以表示64K格字符。我们经常碰到的编码方式有GB2312、BIG5、UNICODE等。关于具体编码方式的详细资料,有兴趣的读者可以查阅相关资料。我肤浅谈一下和我们关系密切的GB2312和UNICODE。GB2312码,中华人民共和国国家标准汉字信息交换用编码,是一个由中华人民共和国国家标准总局发布的关于简化汉字的编码,通行于中国大陆地区及新加坡,简称国标码。两个字节中,第一个字节(高字节)的值为区号值加32(20

4、H),第二个字节(低字节)的值为位号值加32(20H),用这两个值来表示一个汉字的编码。UNICODE码是微软提出的解决多国字符问题的多字节等长编码,它对英文字符采取前面加“0”字节的策略实现等长兼容。如“A”的ASCII码为0x41,UNICODE就为0x00,0x41。利用特殊的工具各种编码之间可以互相转换。  Java中文问题的初步认识  我们基于Java编程语言进行应用开发时,不可避免地要处理中文。Java编程语言默认的编码方式是UNICODE,而我们通常使用的数据库及文件都是基于GB2312编码的,我们经常碰到这样的情况:浏览基于JSP技术的网站看到的是乱码,文件打开后看

5、到的也是乱码,被Java修改过的数据库的内容在别的场合应用时无法继续正确地提供信息。StringsEnglish=“apple”;StringsChinese=“苹果”;Strings=“苹果apple”;  sEnglish的长度是5,sChinese的长度是4,而s默认的长度是14。对于sEnglish来说,Java中的各个类都支持得非常好,肯定能够正确显示。但对于sChinese和s来说,虽然JavaSoft声明Java的基本类已经考虑到对多国字符的支持(默认UNICODE编码),但是如果操作系统的默认编码不是UNICODE,而是国标码等。从Java源代码到得到正确的结果,要

6、经过“Java源代码->Java字节码->;虚拟机->操作系统->显示设备”的过程。在上述过程中的每一步骤,我们都必须正确地处理汉字的编码,才能够使最终的显示结果正确。  “Java源代码->Java字节码”,标准的Java编译器javac使用的字符集是系统默认的字符集,比如在中文Windows操作系统上就是GBK,而在Linux操作系统上就是ISO-8859-1,所以大家会发现在Linux操作系统上编译的类中源文件中的中文字符都出了问题,解决的办法就是在编译的时候添加encoding参数,这样才能够与平台无关。用法是  javac?CencodingGBK。  “Java字节码-

7、>虚拟机->操作系统”,Java运行环境(JRE)分英文版和国际版,但只有国际版才支持非英文字符。Java开发工具包(JDK)肯定支持多国字符,但并非所有的计算机用户都安装了JDK。很多操作系统及应用软件为了能够更好的支持Java,都内嵌了JRE的国际版本,为自己支持多国字符提供了方便。  “操作系统->显示设备”,对于汉字来说,操作系统必须支持并能够显示它。英文操作系统如果不搭配特殊的应用软件的话,是肯定不能够显示中文的。  还有一个问题,就是在Java编程过程中,

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

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

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