通过ICU4C进行Unicode规范化

时间:2012-05-04 14:55:06

标签: c unicode icu normalize

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

看看unorm2_normalize,我有一些问题。

  1. UNormalizer2实例 - 我完成后如何处理它?<​​/ p>

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

1 个答案:

答案 0 :(得分:0)

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