| 定位服务的应用软件继续提供兼容ASCII码的服务,通过使用扩展的unicode字符,集终端用户还能使用国际化域名。
上一页 [1] [2] [3] [4] 下一页
Java SE 6里提供了 java.util.IDN 类来自持IDNA,此类中提供了一些方法来把unicode编码的域名转换成与ASCII码兼容的域名,这些方法是: toASCII 和 toUnicode 。应用程序在和DNS或者是名称定位服务打交道前,需用 toASCII 方法把域名转换到ASCII码;反过来,使用方法 toUnicode 创建用户可见的 unicode 文本。
如果在应用程序里输入非ASCII字符集的域名,程序在把数据发送到国际互联网前需要做如下工作: // 获取应用程序界面上的输入 String strUnicodeName = txtUnicodeName.getText(); // 转换成与ASCII兼容的编码 String strACEName = IDN.toASCII(strUnicodeName);
如图,使用日本语的域名,变量 strACEName 保存了文本 “xn--wgv71a119e.jp”
 “xn--wgv71a119e.jp”这样的文本谁也读不懂,因为这是对字符编码后的样子,只有对计算机和应用程序有用。可以用下面代码演示如何把这样的字符转变为人能读懂的文本: String strACEName = txtACEName.getText(); String strUnicodeName = IDN.toUnicode(strACEName);
日本国的日历 --------------- 日本人常使用两种纪年方式:国际上的公元纪年法和他们本国的年号纪年法。几乎所有人都会用公元纪年法,然而日本政府在日常习俗和文件中还常使用年号纪年法。年号纪年法依据天皇在位的时间来定义。
JAVA编程中使用 java.util.Calendar.getInstance 方法来获取日历对象的实例。通过像演示代码中那样的方式来使用日本国的年号纪年法: Calendar calJapanese = Calendar.getInstance(new Locale("ja", "JP", "JP"));
在创建了 Calendar 对象实例后就可在其上使用基于年号纪年法的日期设置,获取以及组装。
公元纪年法和年号纪年法一个明显区别就是在格式化日期上。java.text.SimpleDateFormat和 java.text.DateFormat 类为新的日历格式提供了支持,可向下面代码演示的那样来对日期格式化和显示:
Date now = new Date(); Locale localeJapanese = new Locale("ja", "JP"); Locale localeImperialJapanese = new Locale("ja", "JP", "JP"); DateFormat dfGregorian = DateFormat.getDateInstance(DateFormat.FULL, localeJapanese); DateFormat dfImperial = DateFormat.getDateInstance(DateFormat.FULL, localeImperialJapanese); String strGregorianDate = dfGregorian.format(now); String strImperialDate = dfImperial.format(now); txtGregorianDate.setText(strGregorianDate); txtImperialDate.setText(strImperialDate);
对 locale 设置了使用 “ja_JP” 后,DateFormat 就用日文字符来表示年月日的格式化结果。如果对 locale 设置了使用 “ja_JP_JP” ,DateFormat 就会输出年号纪年法格式化的日期字符串。如下图所示:

新增locales -------------- 在 Java SE 6 里,在现有支持的LOCALE基础上又新添了许多 locale 以支持不同的区域相关类。区域相关的数据来源于 CLDR (http://unicode.org/cldr/),尽管新的区域相关数据被引入了很多,但是不影响以前就存在的那些区域相关的对象。下表列出了 Java SE 6 里新添加了的区域对象
Chinese (Simplified) Singapore zh_SG English  上一页 [1] [2] [3] [4] [5] [6] [7] 下一页
|