0
icu::UnicodeString::fromUTF8
用U + FFFD替換非法輸入。有沒有辦法來檢測它是否做到了這一點,以便我可以拋出異常?如何解碼UTF-8而不使用替換字符取代非法輸入?
icu::UnicodeString::fromUTF8
用U + FFFD替換非法輸入。有沒有辦法來檢測它是否做到了這一點,以便我可以拋出異常?如何解碼UTF-8而不使用替換字符取代非法輸入?
使用u_strFromUTF8
UChar* u_strFromUTF8 ( UChar * dest,
int32_t destCapacity,
int32_t * pDestLength,
const char * src,
int32_t srcLength,
UErrorCode * pErrorCode
)
Convert a UTF-8 string to UTF-16.
如果沒有很好地形成的輸入字符串,則U_INVALID_CHAR_FOUND 錯誤代碼被設置
http://icu-project.org/apiref/icu4c/ustring_8h.html#a5f9ff224b11166a106d1b3ac26454cd4
比較可惜的是一個低級別的必須使用C API,但這必須做。 – rightfold 2015-04-06 10:21:48