天天看点

关于字符编码笔记(ASCII,Unicode和UTF-8)

  • 该文章解释的非常清楚,参考备忘:

《字符编码笔记: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;
  }
}
           

继续阅读