Java语言的汉字传输技术的秘密
编号:QA002336
建立日期: 1999年12月28日 最后修改日期:1999年12月28日
所属类别:
文章:
摘要:Java语言作为一种强有力的网络编程语言,其重要性日益突出。然而,由于Java受Unix的“流”概念的影响,尽管她拥有16位的字符集,却只能以8位来读写,从而导致汉字以“流”的方式进行网络传输时会出现乱码。在大量的实例测试、分析和研究的基础上,本文提出了两种可行的解决方案。
Java语言有很多优点,其中最为突出的就是移植性和分布性;正因为这两个特性, Java程序得以自由驰骋于广阔、复杂的Internet之中。实践中我们不仅仅要编一些简单的Java小程序,而且常会使用Java语言编写复杂的程序,如三层模式的数据库程序或聊天程序等。以上所说的复杂的编程模式中,核心问题就是嵌入浏览器的Java小应用程序与监听服务端的Java服务程序之间的数据通信。然而,当涉及到汉字传输时(三层模式或二层模式中,用户输入了中文数据),如果嵌入的浏览器是Netscape Communicator 4.0(以下简称Netscape),则一切正常;但如果嵌入的浏览器是Internet Explorer 4.0(以下简称IE),则接受方显示时就会出现乱码。这一问题严重影响了我国的IE用户正常使用Java程序。
出现以上问题,主要是因为不同的浏览器对于Java标准(Java API 1.0和Java API 1.1)的支持程度和支持方式不尽相同。特别是涉及到数据传输中必需的Java字符串(16位或8位)与Java字节数组(8位)转换时,这一问题尤为突出。本文从深入探究Java字符集编码及码制转换方式出发,详细分析了两种主流浏览器对各种转换方式支持程度的异同,研究出两种可行的解决方案。
本文讨论的是Java语言中汉字的传输技术,而汉字的显示首先应在中文环境中;对于非中文环境如何显示汉字,则不在本文讨论范围之内,可参考使用小字库等方式。汉字在Java语言中基本上都是以字符串类型出现,并且字符串类型与其他数据类型都可以很方便的相互无损转换,因此,下文中主要以字符串的传输为例,浏览器则以主流的Netscape4.0和IE4.0为例。
链接:http://www3.zdnet.com.cn/pcc/99_09/help/java.htm
文章来源:电子与电脑。
| |
|
|
| |
|
|