问题标签 [icu]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
5238 浏览

c++ - 是否有适用于 ICU 或其他强大的 Unicode 库的 STL 和 UTF-8 友好的 C++ Wrapper

我需要一个好的 C++ Unicode 库。我需要:

  1. 以 Unicode 敏感的方式进行转换。例如,以不区分大小写的方式对所有字符串进行排序,并获取它们的第一个字符作为索引。将各种 Unicode 字符串转换为大写和小写。在合理的位置拆分文本——也适用于中文和日文的单词。
  2. 以区域设置敏感的方式格式化数字、日期(应该是线程安全的)。
  3. 对 UTF-8(主要内部表示)的透明支持。

据我所知,最好的图书馆是 ICU。但是,我找不到带有示例的普通开发人员友好的 API 文档。此外,据我所知,它对现代 C++ 设计、使用 STL 等不太友好。像这样:

是否有在开源许可下发布的对 STL 友好的 ICU 包装器?首选是许可许可,如 MIT 或 Boost,但其他许可,如兼容 LGPLv2,也可以。

有没有其他类似ICU的高质量图书馆?

平台:Unix/POSIX,不需要 Windows 支持。

编辑:不幸的是我没有登录,所以我不能接受答案。我自己附上了答案。

0 投票
1 回答
1467 浏览

java - 分词规则文件

IBM 显然已经开源了他们的 ICU 源代码以支持 Unicode 和全球化,其中一部分是一个文本边界定位器,用于检测文本中的中断位置。

但是,中断检测依赖于规则,我无法在任何地方找到规则文件。

我在哪里可以获得 和 的分词规则文本com.ibm.icu.text.BreakIterator文件com.ibm.icu.text.RuleBasedBreakIterator

0 投票
3 回答
1868 浏览

iphone - 如何在 iPhone 上将中文文本音译为拼音?

本地化传奇仍在继续……

所以我试图在我的 iPhone 应用程序中支持中文文本的校对,在和一个以中文为母语的人交谈之后,我想我明白中国人是怎么做到的......

假设您有字符串巴拉克·奥巴马,并且您想弄清楚将其放入中国电话簿的哪个部分(在此示例中,我忽略了名字/姓氏,而仅使用了字符串的第一个字符)...

首先你把它音译成拼音,它给你“balake aobama”然后你根据那个字符串的第一个字符进行整理:“b”

那么问题来了,如何使用 iPhone SDK 从巴拉克·奥巴马到巴拉克奥巴马?貌似手机自带的ICU库可以做这种音译,但是我不确定能不能从我的代码中轻松使用,即使可以,也不知道音译能不能用东西包含在电话上的 ICU 构建中。

如果ICU是不行的,有没有人有更好的想法?

0 投票
4 回答
2004 浏览

c++ - 如何使用 ICU 解析汉字数字字符?

我正在使用 ICU 编写一个函数来解析由汉字数字字符组成的 Unicode 字符串,并希望返回字符串的整数值。

"五" => 5
"三十一" => 31
"五千九百七十二" => 5972

我将语言环境设置为 Locale::getJapan() 并使用 NumberFormat::parse() 来解析字符串。但是,每当我传递任何汉字字符时,parse() 方法都会返回 U_INVALID_FORMAT_ERROR。

有谁知道 ICU 是否支持 NumberFormat::parse() 方法中的汉字字符串?我希望因为我将语言环境设置为日语,所以它能够解析汉字数值。

谢谢!

0 投票
4 回答
546 浏览

internationalization - ICU 是否处理不同语言字符串列表的整理?

我的应用程序可能在一个列表中包含由不同字母/语言组成的字符串。我似乎找不到任何关于排序这些的正确方法应该是什么或任何迹象表明 ICU 支持此功能的信息。

示例列表:

  • 苹果
  • яблоко
  • μήλο
  • 婴儿
  • βρέφος
  • ребенок
0 投票
1 回答
925 浏览

c++ - 在 icu::BreakIterator 中查找中断类型

我试图了解如何使用icu::BreakIterator来查找特定的单词。

例如我有以下句子:

生存还是毁灭?就是那个问题...

中断迭代器的 Word 实例会在此处放置中断:

|到| |是| |或| |不是| |到| |是|?| |那个| |是| |那个| |问题|.|.|.|

现在,并不是每一对断点都是真实的单词。

在派生类icu::RuleBasedBreakIterator中有一个“getRuleStatus()”,它返回一些关于中断的信息,它给出了“以下点的字状态(标记为“/”)”

|到/ |是/ |或/ |不是/ |到/ |是/?| |那个/ |是/ |那个/ |问题/。|.|.|

但是...这一切都取决于特定的规则,并且绝对没有文档可以理解它(除非我只是尝试),但是使用字典的不同语言环境和语言会发生什么?后件迭代会发生什么?

有什么方法可以像在 Qt QTextBoundaryFinder 中那样获取“单词开头”或“单词结尾”信息:http: //qt.nokia.com/doc/4.5/qtextboundaryfinder.html#BoundaryReason-enum

我应该如何正确解决ICU中的此类问题?

0 投票
1 回答
727 浏览

icu - IBM ICU - 字符串转换函数

在 IBM ICU C 库中有任何字符串到数字的转换函数。atoi类似于和的东西atoll

我正在寻找用于字符串转换的 ICU 函数 - 跨平台、交叉编译器以及 32 位和 64 位版本。

  1. 函数应该抛出错误。上溢或下溢。
  2. 我想使用errno-- 但errno不是在所有平台上都设置 For Ex: Windows atoi
  3. strtol--> 此函数用于长数据类型。没有类似的功能strtoi
0 投票
2 回答
5465 浏览

sqlite - 编译静态链接到 icu 的 icu sqlite 扩展

我想编译静态链接到icu的icu sqlite 扩展

这是我尝试过的,也许这个错误对你来说很明显。

文件

icu sqlite 扩展

从 sqlite.org 下载 icu.c

重症监护室 4.2.1

从 icu-project.org 下载 ICU4C

我的要求

  • 在 Linux 和 Windows 上运行
  • 我只需要分发一个文件:libSqliteIcu.so.

知道我还能尝试什么吗?

文档

0 投票
1 回答
2680 浏览

sqlite - Sqlite3 ICU Extension 编译版

我认为 sqlite3 在很多情况下都非常方便的软件。但我需要 ICU 支持排序顺序。我在网上刷了很多文件。我放弃了几次使用 sqlite,我删除了我的下载。但我一次又一次地需要sqlite。创建下载扩展有那么难吗?我在哪里可以找到现成的扩展程序?

0 投票
3 回答
1163 浏览

c++ - ICU 自定义货币格式 (C++)

是否可以使用 ICU 库自定义格式货币字符串,类似于它允许您通过提供格式字符串(例如“mm/dd/yyy”)来格式化时间字符串的方式。

因此,对于给定的语言环境(例如美元),如果我愿意,我可以让所有货币字符串返回“xxx.00 $ USD”。