zoukankan      html  css  js  c++  java
  • 中文字符 unicode转utf-8函数 python实现

    unicode编码范围

    00000000-0000007F的字符,用单个字节来表示;

    00000080-000007FF的字符用两个字节表示 (中文的编码范围)

    00000800-0000FFFF的字符用3字节表示
     

    转换规则 

    0000~007F 1字节 0xxxxxxx
    0080~07FF 2字节 110xxxxx 10xxxxxx
    0800~FFFF 3字节 1110xxxx 10xxxxxx 10xxxxxx
    4字节 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx
    5字节 111110xx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx
    6字节 1111110x 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx

    python实现

    输入: 中文字符的unicode编码,int型

    输出: utf-8编码, str类型

    如 '张',unicode编码为0x5f20,输入为0x5f20,输出为0xe5bca0

    def unicode_to_utf8(src):

      ref = 0xe08080
        result = ref
        a = src & 0x3f        //取最后六位
        result = result | a       //将最后六位放在ref最后六位的空位置
        src = src >> 6
        a = src & 0x3f        //取接下来的六位
        result = result | (a << 8)   //放在ref对应的六个位置
        src = src >> 6                      //保留最后四位
        result = result | (src << 16) //放在ref对应的四个位置
        return "%x" % result

  • 相关阅读:
    OpenCMS创建导航条
    C++笔记(2)面向对象编程
    C++笔记(3)模板与泛型编程
    多线程和信号量
    C++笔记(4)用于大型程序的工具
    C++笔记(5)特殊工具与技术
    C++笔记(1)类
    Effective C++ 笔记(1)
    C语言笔记整理(2)
    C语言笔记整理(3)
  • 原文地址:https://www.cnblogs.com/zqiang3/p/3664026.html
Copyright © 2011-2022 走看看