Java平台I18N 支持概述
一、国际化和 Java 编程语言
和大多数使用其它语言的程序员不同,Java
程序员是大量构建在 JDK 中提供 I18N 支持的标准代码的受益者。大部分代码最初来自 IBM 的 Taligent 子公司(自从合并进
IBM 以后),代表了许多人年的工作成果,比大多数公司独自在其产品中提供的代码要切实可行得多。
这些
代码及其远见并不总是完美的;例如,请看一下 java.util.Date
类中许多弃用的(deprecated)方法。我们中的许多人可能记得太平洋标准时间(Pacific Standard Time)显然也是
Java 世界时间(Java World
Time)。然而,即使在“错误的旧时代”,其它语言也没有能与这种内置的功能匹敌的东西,即便有,也很少。这一节的页面简要地讨论了 Java
平台支持的一般国际化领域。
二、Unicode 支持
Java
语言字符集是 Unicode,而且相应地,原始 char 数据类型的长度是两个字节(16 位),以容纳 Unicode 值。由于大家熟悉的
String 由 char 组成,因此 String 也是基于 Unicode 的。Unicode 本身是这样定义的:值 0 到 127
匹配标准 ASCII,0 到 255 匹配 ISO 8859-1 (Latin-1) 标准。由于这一起始值的一致性,不使用 I18N
功能或不需要面对 I18N 问题的程序员可以编写他们的 Java 程序而无需理解或知道 Unicode。然而,考虑到 Windows
的普遍使用,该平台的程序员应该知道标准 ISO 8859-1 和 Windows Latin-1 (cp1252) 之间的差异。
16 位 char 长度允许 0 到 65535 之间的值。提供了 Unicode 转义以在本地平台不支持实际字符时仍然允许输入。其格式是“u”后跟 0000 到 FFFF 的四个十六进制数字。例如,下面两行代码是等价的:
char c1 = ′a′;
char c2 = ′u0061′;
JDK/JRE 的 1.3 版本支持 Unicode 2.1;1.4 版本支持 Unicode 3.0。更多关于 Unicode 和称为 UniBook 的 Unicode 显示程序的信息,请参阅参考资料中到 Unicode Consortium 的链接。
三、字符集转换和流输入/输出
上
一页提到过 Java 字符集是 Unicode,但并不是所有平台都支持
Unicode。那么,这个戏法是怎么完成的呢?答案是:所有支持字符的输入和输出流,即 java.io.Reader 和
java.io.Writer 层次结构,自动调用在平台的本地编码和 Unicode
之间执行转换的隐藏代码层。请注意,本地编码是假设的。如果数据不是缺省编码的,您将不得不自己转换数据。幸运的
是,java.i
相关文档:
AjaxSwing是一个专为Java Swing应用 程序打造的Web开发平台。使用AjaxSwing,可以使为Java桌面应用程序转为Web应用。 AjaxSwing可以被看作是一个Java到HTML的转换器,其程序可以在运行时创建被浏览器解析的HTML和 JavaScript。另外,使用AjaxSwing无需对程序和业务逻辑进行大幅修改修改,它允许开发者使用标准Swing组件来实 ......
Java
基础方面
:
1
、作用域
public,private,protected,
以及不写时的区别
答:
区别如下:
作用域
当前类
同一
package
子孙类
&n ......
很经典的东西,被转的到处都是, 先写原文:
第一,谈谈final, finally, finalize的区别。
final 用于声明属性,方法和类,分别表示属性不可变,方法不可覆盖,类不可继承。finally是异常处理语句结构的一部分,表示总是执行。finalize是 Object类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,可以覆盖 ......
JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。
package mypakage;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method; ......