2

我想使用 ICU C 接口规范化字符串。

看着 unorm2_normalize,我有一些问题。

  1. UNormalizer2 实例——完成后如何处理它?

  2. 如果缓冲区不够大,无法分解或重组怎么办?检查错误代码是否为U_BUFFER_OVERFLOW_ERROR的正常方法是什么?U_STRING_NOT_TERMINATED_WARNING 是否适用?结果字符串是否以空值结尾?如果返回错误,是否要重新分配内存并重试?重新开始似乎是浪费时间。

4

1 回答 1

0
  1. unorm2_close()。请注意,您不应释放通过 unorm2_getInstance() 获取的实例
  2. 通常,大多数 ICU API 可以传递一个 NULL 缓冲区和 0 长度作为输入,这将导致 U_BUFFER_OVERLOW_ERROR 和一个填充了所需长度的变量。如果你得到 U_STRING_NOT_TERMINATED_WARNING 这意味着:数据已填充但未终止。
于 2012-05-06T19:49:20.627 回答