- 该文章解释的非常清楚,参考备忘:
《字符编码笔记:ASCII,Unicode和UTF-8》 http://www.ruanyifeng.com/blog/2007/10/ascii_unicode_and_utf-8.html
- UTF-8 转Unicode
//len表示UTF-8占的字节数,可以通过计算首字节高位1的个数得到
unsigned int ToUnicode(const string& str,
const int len) {
switch (len) {
case 1:
return str[0] & 0x7F;
case 2:
return ((str[0] & 0x1F) << 6) + ((str[1] & 0x3F));
case 3:
return ((str[0] & 0x1F) << 12) +
((str[1] & 0x3F) << 6) +
(str[2] & 0x3F);
default:
return 0;
}
}