如何使用ICU4C规范化字符串?

时间:2012-05-04 10:55:02

标签: c unicode icu normalize

我发现ICU文档有些挑战。

我的问题是:如何使用ICU4C规范化字符串?

我正在看unorm2_normalize,但如果缓冲区不够大怎么办?我以前怎么知道这个?当然,我想将整个字符串规范化。

谢谢!产品:>

P.S。以下是该函数的API文档:http://icu-project.org/apiref/icu4c/unorm2_8h.html#a0a596802db767da410b4b04cb75cbc53

1 个答案:

答案 0 :(得分:1)

您从pErrorCode参数中的所有这些函数调用中获得了错误代码。这就是你如何称呼这样一个功能:

UErrorCode error = U_ZERO_ERROR;
unorm2_normalize( ... &error );
....
if( !U_SUCCESS( error ) )
{
    // handle error...
}

以下是错误代码:http://icu-project.org/apiref/icu4c/utypes_8h.html#a3343c1c8a8377277046774691c98d78c

在你的情况下,你可能想要做这样的事情:

if( error == U_STRING_NOT_TERMINATED_WARNING
   || error == U_BUFFER_OVERFLOW_ERROR )
{
    // enlarge the buffer...
}
相关问题