我发现 ICU 文档有点挑战性。
我的问题是:如何使用 ICU4C 规范化字符串?
我正在查看 unorm2_normalize,但是如果缓冲区不够大怎么办?我以前怎么会知道这个?自然,我想规范化整个字符串。
谢谢!:>
PS这里是该功能的API文档:http: //icu-project.org/apiref/icu4c/unorm2_8h.html#a0a596802db767da410b4b04cb75cbc53
我发现 ICU 文档有点挑战性。
我的问题是:如何使用 ICU4C 规范化字符串?
我正在查看 unorm2_normalize,但是如果缓冲区不够大怎么办?我以前怎么会知道这个?自然,我想规范化整个字符串。
谢谢!:>
PS这里是该功能的API文档:http: //icu-project.org/apiref/icu4c/unorm2_8h.html#a0a596802db767da410b4b04cb75cbc53
您会从 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...
}