[ 移植 ] ___ Library : Icu


软件国际化开发过程使用库(例如 Unicode国际组件 ( ICU) 库),隐藏了特定于语言环境的软件需求的文化细微差别和技术 复杂性,以使单个程序能够在世界任何地方处理任何语言的文本,是软件开发不可或缺的一部分。
Unicode在环境中简化了对文本的操作,仅对传入和传出数据进行转换,使程序能够对程序环境中的所有文本数据使用标准编码方案,所以您不必跟踪特定文本的编码。
Unicode支持多语言数据,可以在单个文本中混合语言,因为它对所有世界语言的字符进行编码,不必使用编码来标记数据片段以启用正确的字符。

简介


ICU是一套成熟的、广泛使用的C/C++Java库,为软件应用程序提供 Unicode和全球化支持,ICU具有广泛的可移植性,并在所有平台上以及在 C/C++Java软件之间为应用程序提供相同的结果,ICU是根据非限制性开源许可证发布的,该许可证适用于商业软件和其他开源或免费软件。

亮点


  • 代码页转换:将文本数据与Unicode以及几乎任何其他字符集或编码进行转换。ICU的转换表基于IBM数十年来收集的字符集数据,是任何地方可用的最完整的。
  • 排序规则:根据特定语言、地区或国家的约定和标准比较字符串。ICU 的排序基于Unicode排序算法加上来自Common Locale Data Repository的特定于语言环境的比较规则,这是此类数据的综合来源。
  • 格式化:根据所选区域设置的惯例格式化数字、日期、时间和货币金额。这包括将月份和日期名称翻译成所选语言、选择适当的缩写、正确排序字段等。这些数据也来自Common Locale Data Repository
  • 时间计算:除了传统的公历之外,还提供多种类型的日历。提供了一套完整的时区计算 API
  • Unicode 支持ICU密切跟踪Unicode标准,提供对所有许多Unicode字符属性、Unicode规范化、大小写折叠和Unicode标准指定的其他基本操作的轻松访问。
  • 正则表达式ICU的正则表达式完全支持Unicode,同时提供极具竞争力的性能。
  • Bidi:支持处理包含从左到右(英语)和从右到左(阿拉伯语或希伯来语)数据混合的文本。
  • 文本边界:在文本范围内定位单词、句子、段落的位置,或确定显示文本时适合换行的位置。

优势


使用ICU可以使您的项目国际化

  • 它可以处理任何语言或语言组合的文本;
  • 可以编写源代码,以便该程序可以在许多语言环境中工作;
  • 可配置、可插入的本地化已启用;
  • 同时支持多个语言环境;
  • 非技术人员可以访问信息,而您不必向他们开放源代码;
  • 可以开发软件,以便将相同的代码移植到各种平台。

获取


Icu可以通过以下方式下载:

下载后,请参阅包含的README文件,了解包含的内容、构建、安装等信息。

配置


  • 获取Git存储库并创建安装目录和预编译目录
localhost@linux:~$ git clone https://github.com/unicode-org/icu.git
localhost@linux:~$ mkdir icu2arm icu/icu4c/build
  • 预编译
localhost@linux:~$ cd icu/icu4c/build
localhost@linux:~/icu/icu4c/build$ ../source/runConfigureICU Linux/gcc
localhost@linux:~/icu/icu4c/build$ make
localhost@linux:~/icu/icu4c/build$ cd ../source
  • 生成Makefile
localhost@linux:~/icu/icu4c/source$ ./configure --host=arm-none-linux-gnueabi --prefix=${HOME}/icu2arm --disable-samples --disable-tests --with-cross-build=${HOME}/icu/icu4c/build

安装


localhost@linux:~/icu/icu4c/source$ make
localhost@linux:~/icu/icu4c/source$ make install

查看


localhost@linux:~/icu/icu4c/source$ cd ~/icu2arm
localhost@linux:~/icu2arm$ ls -la
total 28
drwxrwxr-x  7 localhost localhost 4096 Apr 28 15:13 .
drwxr-xr-x 49 localhost localhost 4096 Apr 28 15:13 ..
drwxrwxr-x  2 localhost localhost 4096 Apr 28 15:13 bin
drwxrwxr-x  3 localhost localhost 4096 Apr 28 15:13 include
drwxrwxr-x  4 localhost localhost 4096 Apr 28 15:13 lib
drwxrwxr-x  2 localhost localhost 4096 Apr 28 15:13 sbin
drwxrwxr-x  4 localhost localhost 4096 Apr 28 15:13 share
localhost@linux:~/icu2arm$ tree
.
.
.
16 directories, 252 files
localhost@linux:~/icu2arm$ cd lib
localhost@linux:~/icu2arm/lib$ file libicudata.so.72.0.1

libicudata.so.72.0.1: ELF 32-bit LSB shared object, ARM, EABI5 version 1 (SYSV), dynamically linked, not stripped

接下来我们就可以把可执行程序和库文件上传开发板使用,头文件和库文件在源码编译时需要参数指定路径和链接。

资料


Icu4c

  • 23
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值