java5

java语言采用双字节的什么字符编码?

在目前的计算机应用中,英文字符最常用的编码方法是 ASCII,一般以一个字节来表示。但一个字节最多只能区分256个字符。而其他的语言,以汉字为例,汉字成千上万,仅以一个字节无法表示。所以现在都以双字节表示汉字。

虽然 Java 的基本类已考虑到对非英文的多语言支持(默认 UNICODE 编码),但是如果操作系统的默认编码不是 UNICODE ,要从 Java 源代码到得到正确的结果,就要经过一个较为复杂的过程。该过程为: "Java 源码 --> Java 字节码 --> Java虚拟机 --> 操作系统 --> 显示设备"。在该过程中,我们在每一步都必须正确地处理双字节/汉字的编码,才能够正确显示最终的双字节结果。

Java 源码 到 Java 字节码的双字处理。Javac(标准Java 编译器)使用的字符集为操作系统默认的字符集,比如在中文 Windows 操作系统上是 GBK/GB18030 ,而在英文UNIX 操作系统上就是ISO-8859-1。因此开发人员会发现在 英文UNIX 操作系统上编译的类,其中双字节(中文)字符都成了乱码或者问号。解决方案是在编译时添加 encoding 参数,就可以做到与平台无关。语法如下:

javac -encoding GBK

Java 字节码到Java虚拟机再到操作系统的双字处理。JRE (Java 运行环境) 分为国际版和英文版,其中只有国际版才支持非英文字符。JDK(Java 开发工具包) 都肯定支持非英文字符,但并非所有的服务器(或者开发平台)都会安装JDK 。很多操作系统及应用软件都会内嵌 JRE 的国际版本,例如WebSphere Application Server多语言版,为产品及其应用支持非英文字符提供了完全的支持。

操作系统到显示设备的双字节处理。支持非英文字符的最基本条件是操作系统必须支持并能够显示它。如果是纯英文操作系统,如果不搭配特殊的应用软件,肯定不能够显示双字节字符(例如中文)。因此在实际环境中,特别是UNIX操作系统,要特别留意是否安装了多语言支持包

我们在国内经常碰到的编码方式有 GB2312、GBK、UNICODE、以及国家质量技术监督局在2000年发布并作为一项国家标准正式强制执行的GB18030等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值