下表列出了ICU、ICU4J和JDK提供的功能之间的差异。
在ICU和JDK支持相同功能的情况下,ICU有一个更为更新的符合Unicode的实现。
功能
ICU4C 4.0或更高版本
ICU4J 4.0或更高版本
JDK 6型
字符
属性
单码集
比较详细信息
unicode/uniset。小时
com.ibm.icu.文本。单码集
无法使用的
串
UTF16操作
代码点顺序比较
代码单位订单比较
Unicode字符迭代器
unicode/ustring.h
unicode/统一编码。小时
unicode(/utf)。小时
unicode/utf16.h
unicode/字符。小时
unicode(/u)。小时
com.ibm.icu.lang.字符
com.ibm.icu.text。UTF16型
com.ibm.icu.text。UCharacterIterator
java.lang.String(java.lang.字符串)
java.lang.Character(java.lang.字符)
(从Java 5开始)
java文本。CharacterIterator(字符迭代器)
转换器
转换数据
Unicode压缩
SCSU公司
BOCU-1型
字符集检测
unicode/ucnv。小时
unicode/cs检测。小时
映射表格
默认生成:转换器资源管理器
com.ibm.icu.text。SCSU公司
com.ibm.icu.text。Charset检测器
icu4j字符集-版本.jar文件
数据与icu4c相同。
支持的编码
区域设置
区域设置数据
资源管理
字符串和字符串数组存储和检索
二进制存储和检索
对象和对象数组存储和检索
unicode(uC/u)。小时
使用CLDR 1.5.0.1。
com.ibm.icu.util文件。UResourceBundle(资源包)
使用Java
支持与ICU4C中相同的区域设置数据。
java.util(实用程序)。资源捆绑包
没有对区域设置敏感的
支持的区域设置
使用一些CLDR数据。
日期/时间服务
日历
时区
基于时区规则的检索/比较
unicode/时区。小时
unicode/基本码。小时
unicode/rbtz。小时
com.ibm.icu.util文件。时区
com.ibm.icu.util文件。基本时区
com.ibm.icu.util文件。基于规则的时区
java.util(实用程序)。时区
格式化和分析
可扩展格式基类
日期/时间
日期/时间,相对
日期/持续时间
小数
消息
可扩展数字基类
基于规则的编号
选择
unicode/格式。小时
unicode/日期fmt。小时
(使用相对样式)
unicode/decimfmt。小时
unicode/消息格式。小时
unicode/数字。小时
unicode/rbnf。小时
unicode/choicfmt。小时
com.ibm.icu.text。日期格式
com.ibm.icu.text。工期格式
com.ibm.icu.text。小数格式
com.ibm.icu.text。消息格式
com.ibm.icu.text。数字格式
com.ibm.icu.text。基于规则的数字格式
java文本。格式
java文本。日期格式
java文本。小数格式
java文本。消息格式
java文本。数字格式
java文本。选项格式
转型
案例映射
BiDi算法
规范化
分解
组成
标准字符串比较
字符串串联
注意:结果字符串已规范化。
FC_NFKC闭包集检索
快速检查
FCD公司
unicode/unistr。小时
unicode/ubidi。小时
unicode/unorm。小时
unicode/normlzr。小时
com.ibm.icu.lang.U字符
com.ibm.icu.text。比迪
com.ibm.icu.text。标准化器
java文本。比迪
java文本。标准化器
(自Java 6以来)
常规/脚本转换
布局引擎
布局/loengine。小时
内部的
排序规则
正则表达式
unicode/正则表达式。小时
java.util.regex软件
边界分析
基于词典的中断迭代器
线路边界
句子边界
单词边界
基于规则的中断迭代器
unicode/brkiter。小时
unicode/rbbi.h
com.ibm.icu.text。BreakIterator(断开迭代器)
com.ibm.icu.text。基于规则的中断迭代器
java文本。BreakIterator(断开迭代器)