add utf8_is_valid
This commit is contained in:
@@ -770,6 +770,21 @@ int utf8_get_char_len (const char *pp)
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool utf8_is_valid(const CString &str)
|
||||||
|
{
|
||||||
|
unsigned pos = 0;
|
||||||
|
while(pos < str.size())
|
||||||
|
{
|
||||||
|
int len = utf8_get_char_len(str.c_str() + pos);
|
||||||
|
if(len == -1)
|
||||||
|
return false;
|
||||||
|
|
||||||
|
pos += len;
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
wchar_t utf8_get_char (const char *p)
|
wchar_t utf8_get_char (const char *p)
|
||||||
{
|
{
|
||||||
int len = utf8_get_char_len(p);
|
int len = utf8_get_char_len(p);
|
||||||
|
|||||||
@@ -164,6 +164,7 @@ CString WcharToUTF8( wchar_t c );
|
|||||||
wstring CStringToWstring(const CString &str);
|
wstring CStringToWstring(const CString &str);
|
||||||
wchar_t utf8_get_char (const char *p);
|
wchar_t utf8_get_char (const char *p);
|
||||||
int utf8_get_char_len (const char *p);
|
int utf8_get_char_len (const char *p);
|
||||||
|
bool utf8_is_valid(const CString &str);
|
||||||
|
|
||||||
// Splits a CString into an CStringArray according the Deliminator.
|
// Splits a CString into an CStringArray according the Deliminator.
|
||||||
void split(
|
void split(
|
||||||
|
|||||||
Reference in New Issue
Block a user