我有一个应用程序,接受最多255个字符的UTF-8字符串.
如果字符是ASCII,(字符数==大小,以字节为单位).
如果字符不是全部ASCII并且包含日语字母,则给定大小(以字节为单位),如何获取字符串中的字符数?
输入:char *data, int bytes_no
输出:int char_no
您可以使用mblen来计算长度或使用mbstowcs
资源:
http://www.cplusplus.com/reference/cstdlib/mblen/
http://www.cl.cam.ac.uk/~mgk25/unicode.html#mod
可以使用mbstowcs(NULL,s,0)以便携方式在C中计算字符数.只要选择了适当的语言环境,这适用于UTF-8,就像任何其他支持的编码一样.计算UTF-8字符串中字符数的硬连线技术是计算除0x80 - 0xBF范围内的所有字节,因为这些只是连续字节而不是它们自己的字符.然而,在应用程序中很少出现计算字符的需要.
你可以在一个宽字符中保存一个unicode字符 wchar_t