python3 汉字转十六进制unicode
来源:互联网 发布:中宏数据库 讲座 编辑:程序博客网 时间:2024/05/22 06:40
最近遇到个需求,在python上面把汉字转成unicode字符用十六进制表示,方便存进byte数组中进行传输,查了一堆互转的资料,最后还是乱打乱撞做出来了,记录一下转换步骤。
s = "高德路"# 把字符串s编码成unicodest = s.encode('unicode_escape')>>> print(st)b'\\u9ad8\\u5fb7\\u8def'# 把字符串解码成utf-8,得到unicode的字符串st = st.decode("utf-8")>>> print(st)\u9ad8\u5fb7\u8def# 把字符串中的\u替换掉,得到十六进制unicode字符串st = st.replace("\\u", "")>>> print(st)9ad85fb78def# 获取字符串前4位,代表字符串中的第一个字m_b = st[:4]>>> print(m_b)9ad8# 把十六进制字符串转为int类型数字,可直接存入字符数组中# 这里需要注意的是一个汉字需要2个字节存放# 把汉字存放的时候需要把一个字拆开两位转换存放# 修改上一步操作m_b = st[:2]即可拿到前两位m_c = int(m_b, 16)>>> print(m_c)39640# 把int转成十六进制m_d = hex(m_c)>>> print(m_d)0x9ad8
以上就是把汉字转成十六进制unicode的步骤,逆向转换把十六进制转为汉字的步骤如下
# 通过刚刚转换的步骤知道了"高"这个字转为整形是39640test = 39640# 把int类型转成十六进制h_t = hex(test)>>> print(h_t)0x9ad8# 去掉十六进制前两位0x,替换为\u开头的字符串h_t = "\\u" + h_t[2:]>>> print(h_t)\u9ad8# 把字符串编码成utf-8h_st = h_t.encode('utf-8')>>> print(h_st)b'\\u9ad8'# 最后用unicode解码,得到对应的汉字h_st = h_st.decode("unicode_escape")>>> print(h_st)高
0 0
- python3 汉字转十六进制unicode
- 汉字转十六进制 和十六进制转汉字
- C# 汉字转十六进制
- 汉字转十六进制
- Unicode 码和汉字,十进制之间互转!二进制、十六进制,十进制的转换
- javascript,汉字转unicode|unicode转汉字
- 汉字一、二级字库的汉字与unicode编码(十六进制)对照表,按照unicode的顺序排列
- 汉字一、二级字库的汉字与unicode编码(十六进制)对照表,按照unicode的顺序排列
- 汉字一、二级字库的汉字与unicode编码(十六进制)对照表,按照unicode的顺序排列
- c# 实现获取汉字十六进制Unicode编码字符串
- Unicode转汉字
- [转]Unicode 汉字数据库
- unicode字符串 转汉字
- unicode编码转汉字
- 汉字转Unicode编码
- 汉字转Unicode编码
- 汉字 转 Unicode
- 汉字转UniCode
- C# 两个独立exe程序直接通信 截取Windows消息来触发自定义事件 实例
- 9. Palindrome Number
- 各大公司广泛使用的在线学习算法FTRL详解
- webpack笔记-----编辑webpack.config.js文件
- hdu 3018 欧拉回路
- python3 汉字转十六进制unicode
- StateMachine 状态机原理
- nyoj 82 迷宫寻宝(一)【dfs】
- CNNdroid+Caffe使用攻略
- python学习01--装饰器
- C++中的类模板详细讲述
- LMAX高并发系统架构
- java将数据写入xml与读取xml文件数据
- 安卓的事件分发的总结