当前位置: 首页 > news >正文

编码方式知识整理【ASCII、Unicode和UTF-8】

编码方式

  • 一、ASCII编码
  • 二、Unicode 编码
  • 三、UTF-8编码
  • 四、GB2312编码
  • 五、GBK编码

计算机中对数据的存储为二进制形式,但采用什么样的编码方式存储,效率更高。主要编码方式有 ASCII、Unicode、UTF-8等。

英文一般为1个字节,汉字一般为3个字节

一、ASCII编码

即美国信息交换码,其把数字,英文字母和常用的控制类字符,映射到0-127的数值空间,每个ASCII编码占一个字节【8bits/1byte】。
最高位为0,其他7位为编码位,即2的7次方
如大写A 对应的ASCII为65,小写的a为97,如下图所示(来源网络)
在这里插入图片描述
若是对 字符串hello 进行ASCII码转换为二进制,即拆分对应的单词,如 h 先转换为ASCII码值,104,再对应为二进制值 0110 1000,如下图所示。
在这里插入图片描述

二、Unicode 编码

由Unicode字符集和多套代码规则组成,每个字符均对应一个代码点,可表示65536个字符。
字素是最小的有意义的书写单位。
适用于中文表情包等,1字素 != 1代码点 !=1字节
在这里插入图片描述

三、UTF-8编码

其变长编码,对于英文字符,用1个字节表示,对非英文字符,用2-4个字节表示,兼容ASCII编码。UTF-16编码,为变长编码。
UTF-8编码方式 二进制表示,开头1的位数,表示占用的字节数,如下图是所示。
在这里插入图片描述

四、GB2312编码

在实际项目开发中,对数据集请求进行编码和解码,其保持一致才能不出现乱码。
GB2312编码要求 高位和低位都要大于127,其可存储6763个汉字。

字符集
使用字符集,其采用分区管理方式,设计94个区,每个区有94个位,共8836个码位。
01-09区 收录除汉字外的682个字符;
10-15区位空白区,没有使用;
16-55区 收录3755个一级汉字,按拼音排序;
56-89区 收录3008个二级汉字,按部首/笔画排序;
88-94区 为空白区,没有使用。

五、GBK编码

对GB2312编码方式扩充,不再要求低位大于127,新增近2W个汉字和符号


http://www.mrgr.cn/news/54099.html

相关文章:

  • 解析带有MyBatis语法的SQL字符串,获取最终的可执行SQL
  • 1. 路由定义
  • SpringBoot篇(二、制作SpringBoot程序)
  • linux线程 | 同步与互斥 | 线程池以及知识点补充
  • 【某农业大学计算机网络实验报告】实验二 交换机的自学习算法
  • 网络基础知识:交换机关键知识解析
  • 【C语言】文件操作(1)(文件打开关闭和顺序读写函数的万字笔记)
  • 父子元素中只有子元素设置margin-bottom的问题
  • 基于SpringBoot健康生活助手微信小程序【附源码】
  • 建议收藏!质量管理用ChatGPT,提升效率有手就能做!
  • Vue2 前端表格必选项,禁止更改的实现
  • 2024年微信小程序毕业设计如何选题,200 道新颖微信小程序题目推荐,持续更新
  • 即时通讯:单聊消息逻辑
  • 离线安装Kerbreos到Centos7
  • C# 字符串常用方法
  • 基于windows10的WSL详细安装与使用教程
  • Java项目实战II基于Spring Boot的毕业就业信息管理系统设计与实现(源码+数据库+文档)
  • C#中 is 和 as 运算符使用与区别
  • HTTP cookie 与 session
  • asyn queueRequest使用实例
  • ssm配置模式
  • 12.个人博客系统(Java项目基于spring和vue)
  • Java实现简单的5阶m序列密钥生成
  • java项目篇-用户脱敏展示
  • UDP协议揭秘:无连接通信的奥秘
  • C++远程过程调用框架:rpclib