问题标签 [icu4c]
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.
c++ - 在 ICU4C ustdio.h 中使用 u_fgets 时如何测试新行的长度?
在 ICU4C 中,
f
将从缓冲区中读取一行s
,大小为n
.
但是我怎么知道这一行的长度呢?
如果n
这一行不够用怎么办?
string - 如何在 ICU4C C++11 中将 icu::UnicodeString 解析为整数或浮点数?
我应该如何将 icu::UnicodeString 字符串解析为 ICU4C C++11 中的整数或浮点数?
是否有成熟的 API,或者我必须实现自己的号码解析器?
c++ - 无法从 C++ std::string 中提取 Unicode 符号
我正在寻找一个 C++ std::string,然后将该 std::string 传递给一个分析它的函数,然后从中提取 Unicode 符号和简单的 ASCII 符号。
我在网上搜索了很多教程,但都提到标准 C++ 不完全支持 Unicode 格式。他们中的许多人提到使用ICU C++。
这是我的 C++ 程序,用于理解上述基本功能。它读取原始字符串,转换为 ICU Unicode 字符串并打印:
预期输出:
实际输出:
请建议我做错了什么。还建议任何替代/更简单的方法
谢谢
更新1(旧):工作代码如下:
现在,预期输出和实际输出都相同,即:
更新 2(最新):更新 1 中提到的代码不适用于 UTF32 符号,例如 . 因此,所有可能的 Unicode 符号的工作代码如下。特别感谢@Botje的解决方案。我希望我能给他的解决方案多打一个勾!!!:)
现在,预期输出和实际输出都相同,即:
icu - ICU4C ausrdup 函数
我正在尝试运行 ICU4C 的代码演示,并得到
警告:函数“austrdup”的隐式声明
随后产生错误。我知道这是由于缺少包含“austrdup”函数的导入库,并且一直在查看源代码以猜测它是哪一个,但没有运气。有谁知道应该进口哪一个?
macos - macos 10.12 升级到 icu4c 67.1 失败
我使用的是旧版 iMac,它无法将 macos 升级到 10.12 以上。当我进行 brew upgrade fontforge 时,升级 fontforge 依赖项 icu4c 失败。以下是部分日志。
谷歌搜索没有返回太多信息,任何人有类似的问题并且知道如何解决它?
icu - 如何释放 icu::Transliterator?
当我做
并且没有进一步的用途myTrans
,AddressSanitizer 告诉我它正在泄漏内存。我没有看到类似close
或free
在https://unicode-org.github.io/icu-docs/apidoc/released/icu4c/classicu_1_1Transliterator.html中的方法。有,unregister
但这意味着我不能再次创建相同的音译,对吗?
gcc - 没有从使用 genrb icu 创建的 .res 资源包中获取消息
我们正在尝试使用 gcc 版本 8 和 ICU 库版本 68 在 RHEL 8 上构建我们的 C++ 组件以进行本地化,但是在读取资源字符串时我们遇到了失败。
我们在 myapp_en.txt 中有英文特定的字符串,格式如下:
如果我们使用以下命令创建 .res 文件,则会创建 myapp_EN.res 文件。
然后将上面的.res文件放在组件安装目录下,尝试运行组件,我们无法读取资源字符串。以下代码用于读取资源:
上述函数调用将资源包返回为 NULL。
php - OSX php intl 扩展在安装时失败
当我尝试再次安装 PHP 的 intl 扩展时,我的 OSX Big Sur 和 XAMPP/Applications 出现问题。这是我所做的:
- 使用 php -m intl 不存在。
- 我已经完成了
brew update
,brew upgrade icu4c
从 68.2(安装 intl 时开始出现问题,而我知道 67.1 工作正常)到 69.1(我希望它解决了问题,但它没有) - 我
sudo pecl install int
在 XAMPP/Application/bin 文件夹中运行,我得到以下选项:Specify where ICU libraries and headers can be found [DEFAULT] :
. 在这里我只需按 ENTER - 我也做了
which php
并改变了得到这个/Applications/XAMPP/bin/php
不过,我收到此错误消息:
/private/var/folders/zz/zyxvpxvq6csfxvn_n0000000000000/T/pear/temp/intl/php_intl.c:25: /private/var/folders/zz/zyxvpxvq6csfxvn_n0000000000000/T/pear/temp/intl/php_intl.h:33:10: fatal error: 'unicode/ubrk.h' file not found #include <unicode/ubrk.h>
任何想法恢复到 icu4c 67.1 或修复当前版本?
谢谢!
composer-php - 切换 icu4c 版本(自制)
运行 composer 命令时出现错误,看来我必须更改 icu4c 版本。(目前我需要一个 composer 命令来重新(安装) - composer global require weprovide/valet-plus
)但是,当我尝试使用以下步骤更改它时,我得到了错误。
运行 composer 命令时出错(全局):
更改 icu4c 版本的步骤:
重新安装 icu4c.rb 时出错:
有谁知道如何解决这个问题?我想一切都需要 67.1 版本才能正常工作。如果您知道任何可能有帮助的信息,请告诉我,在此先感谢!