ASCII编码

将0000 0000 ~ 0111 1111编码成英文与一些控制字符,比如97对应的是小写字母’a’,但是中文是编码不过来的。或者说如果文件采用的是ASCII编码,那么文件中不能出现中文,否则就会乱码。

UTF-8编码

由于ASCII编码表示的字符太少了,所以各个国家都有一套自己的编码标准,比如中国的GB2312、GBK编码等。但是如果每个国家都用自己的标准,那么交流起来就很复杂,所以ISO组织就发明了UNICODE编码,UTF-8(每次传输8位)是UNICODE的一种,向下可兼容ASCII编码,其格式如下:

    00 - 7F:0xxxxxxx80 - 7FF:110xxxxx 10xxxxx800 - FFFF:1110xxxx 10xxxxxx 10xxxxxx
10000 - 10FFFF:11110xxx 10xxxxxx 10xxxxxx 10xxxxxx
# 序列0开头表示兼容ASCII编码
# 序列110开头表示是两个字节编码的
# 序列1110开头表示是三个字节编码的
# 序列11110开头表示是四个字节编码的
# 序列10开头表示是编码字节的组成部分

1.求出“段”的UTF-8编码

段:6bb5        #中文"段"的Unicode编码是6bb5
6bb5: 0110 1011 1011 0101
================================0110   101110   110101
UTF-8:11100110 10101110 10110101
================================
# 故段的UTF-8编码为:E6AEB5
print("段".encode('utf-8'))
>>> b'\xe6\xae\xb5'

2.已知一串UTF-8编码的二进制序列,求出他对应的中文

# 字节序列如下,我们一行放五个字节
11100101 10010000 10001000 11101000 10000010
10100101 11100101 10110111 10100101 11100100
10111000 10011010 11100101 10100100 10100111
11100101 10101101 10100110# 由于开头都是1110组成,所以都是由三个字节编码的
# 每三个字节一组,去掉固定的字段,提取信息后如下:
0101 010000 001000
1000 000010 100101
0101 110111 100101
0100 111000 011010
0101 100100 100111
0101 101101 100110# 重新排列并转换成十进制
0101 0100 0000 1000 -> 0x5408
1000 0000 1010 0101 -> 0x80a5
0101 1101 1110 0101 -> 0x5de5
0100 1110 0001 1010 -> 0x4e1a
0101 1001 0010 0111 -> 0x5927
0101 1011 0110 0110 -> 0x5b66

ASCII编码与UTF-8编码相关推荐

  1. html转换编码格式,html编码转换 html编码设置utf gbk编码转换图文教程

    html编码转换 html编码设置utf gbk编码转换图文教程篇 常用HTML编码之urf-8编码转换为gb2312编码或者gb2312转换为utf-8编码快速转换设置,这里DIVCSS5介绍使用D ...

  2. 字节码:ASCII编码:单字节编码,ANSI编码:多字节编码,UNICODE编码:宽字节编码

    字符字节与编码 字符是人们常用的一些记号,比如"1", "汉", "お","℃"等等,包括各种语系的语言和一些符号都可以 ...

  3. ASCII(美国信息交换标准编码)表

     ASCII(美国信息交换标准编码)表 字符 ASCII代码 字符 ASCII代码 字符 ASCII代码 二进制 十进制 十六进制 二进制 十进制 十六进制 二进制 十进制 十六进制 回车 ESC 空 ...

  4. 手摸手带你理解 进制 字节 ASCII码 Unicode 与 字节编码(UTF-8 /16)等(下)

    手摸手带你理解 进制 字节 ASCII码 Unicode 与 字节编码(UTF-8 /16)等(上) Unicode 先讲讲这个东西的规则 Unicode 通常(不是所有)用两个字节来表示 一个字符 ...

  5. python utf—8编码问题待解决

    执行python manage. py runserver后出现错误 utf-8编码出错 (result, consumed) = self._buffer_encode(data, self.err ...

  6. python字符编码讲解_python 字符编码讲解

    ASCII控制字符  Unicode编码 ASCII(American Standard Code for Information Interchange,美国信息互换标准代码,ASCⅡ)是基于拉丁字 ...

  7. 【转】刨根究底字符编码之十一——UTF-8编码方式与字节序标记BOM

    一.UTF-8编码方式 1. 接下来将分别介绍Unicode字符集的三种编码方式:UTF-8.UTF-16.UTF-32.这里先介绍应用最为广泛的UTF-8. 为满足基于ASCII.面向字节的字符处理 ...

  8. 【转】刨根究底字符编码之九——字符编码方案的演变与字节序

    字符编码方案的演变与字节序 一.字符编码方案的演变 1. 根据前面的介绍,对于字符编码方案的演变,我们大致上可简单地划分为三个阶段: ① ASCII编码方案阶段 → ② ANSI编码方案阶段 → ③ ...

  9. python转换字符编码_Python常见字符编码间的转换

    学习Python,字符编码间的转换是绕不过去的一只拦路虎,不把编码彻底搞明白,总有一天它会猝不及防坑你一把. Python2.x和Python3.x在字符编码的设置上也有很大区别(Python3未来将 ...

  10. 计算机常见编码一. 有关编码的基础知识字符集

    计算机常见编码一. 有关编码的基础知识 1. 位 bit 最小的单元 字节 byte 机器语言的单位 1byte=8bits 1KB=1024byte 1MB=1024KB 1GB=1024MB 2. ...

最新文章

  1. 服务器架设笔记——多模块和全局数据
  2. C#编程(十二)----------函数
  3. 关于Presenting view controllers on detached view ...
  4. 数据治理(Data Governance)
  5. python封装的好处_Python之浅谈多态和封装
  6. 红宝书阅读笔记——缓冲区对象
  7. android 线程池
  8. YUV422格式信号格式(以备学习之用)
  9. 【数据结构与算法】单链表的Java实现
  10. 关于原型污染漏洞的完整指南
  11. 冲刺二阶段-个人总结04
  12. 将对象序列化和反序列化
  13. Gantt - attachEvent事件监听 - 多个参数事件(大于两个)
  14. OBV指标的活用以及OBV指标的解析
  15. Linux下ffmpeg批量转换图片
  16. 一个屌丝程序猿的人生(二十一)
  17. 服务器怎么分盘?Windows系统服务器分盘操作方法
  18. Android应用中打开微信扫一扫
  19. WGS84与GCJ02、BD09经纬度坐标转换介绍
  20. 中国移动诺基亚联手推出智能机

热门文章

  1. mac外接显示器 竖屏 黑苹果_mac外接显示器 竖屏 黑苹果_Mac 外接显示器转自定义HiDPI分辨率教程...
  2. 9个可视化图表在线制作工具,总有一款适合你
  3. Python 爬虫十六式 - 第七式:RE:用匹配来演绎编程的艺术
  4. 工程测量实训心得体会
  5. 时隙aloha协议仿真程序_石科院:芳烃吸附分离装置吸附塔控制系统的仿真培训系统开发!...
  6. CISSP AIO7 学习笔记 - 第二章 资产安全 2.1-2.8小节 附送脑图
  7. 打开 codeblocks 出现 ntvdm.exe 停止工作
  8. 使用matlab绘制弧线,MATLAB求解叶型中弧线
  9. 2020年工作上的最大收获——监控告警体系
  10. 两利好因素携手而至 美元指数或逼近年内高点?