当前位置:网站首页>Golang中UTF编码和字符集
Golang中UTF编码和字符集
2022-07-04 19:47:00 【南一道街丶】
一、UTF编码和Golang字符集
1.字符集
一个比特位要么是1要么是0,无论如何都不能得出一个字母A,我们可以将这些例如A-Z的字符对数字进行一个映射关系,比如0100 0001代表A,然后我们创建字符集,将这些映射关系收录起来,得到一个字符编号对照表,就叫做字符集
2.ASCII字符集
ASCII只收录了128字符,扩展字符集有256个
3.GB2312字符集
ASCII不支持汉字,就有了GB2312字符集
4.Unicode字符集
以上字符集还有很多字符没有收录,我们想制作一个通用字符集,Unicode协会就是做的这些事
5.定长编码,变长编码
5.1 定长编码
如果要表达出"eggo世界",我们直接使用Unicode字符集拿到他们编号,但是拿到编号后怎么划分顺序又是一个问题,比如随便划分成了"攲"
解决办法:不管这些字符的长度是多少,统一按照边界最长的来,位数不够高位补0,字符边界问题解决了,
新的问题:浪费内存,而且字符集收录的符号越多,编码跨度越大,“定长编码浪费显著”,还得想办法解决内存消耗问题
5.2 变长编码
定长编码不行,我们就使用变长编码,小编号少用字节,大编号多用字节
解决方案如下:
[0,127]一字节,最高标志位为0
[128,2047]二字节,最高标志位110,还有固定标志位10
[2048,65535],最高标志位1110,有两个固定标志位10
01100101,最高字节为0,去掉标志位,其他对应的是就是e
11100100 10111000 1001011 用1110开头,除去三个标志位,剩下部分组合,就能得到世界的"世"
6.UT8详解
UTF-8是变长编码方式,可以用1~4个字节表示,
编码规则如下:
1.对于一字节,第一位为0,剩下7为用Unicode编码表示
2.对于n个字节(n>1),第一个字节的前n位为1,剩下字节的 前两位为10
边栏推荐
- 奏响青春的乐章
- BFC面试简述
- Idea restore default shortcut key
- LeetCode 871. Minimum refueling times
- Form组件常用校验规则-1(持续更新中~)
- 科普达人丨一文看懂阿里云的秘密武器“神龙架构”
- How does wincc7.5 SP1 find variables and their positions through cross indexing?
- word中插入图片后,图片上方有一空行,且删除后布局变乱
- From automation to digital twins, what can Tupo do?
- LeetCode 7. 整数反转
猜你喜欢
Reinforcement learning - learning notes 2 | value learning
What if win11u disk refuses access? An effective solution to win11u disk access denial
阿里测试师用UI自动化测试实现元素定位
Leetcode+ 81 - 85 monotone stack topic
Flet教程之 08 AppBar工具栏基础入门(教程含源码)
NLP、视觉、芯片...AI重点方向发展几何?青源会展望报告发布[附下载]
Some suggestions for interface design
强化学习-学习笔记2 | 价值学习
Flet教程之 04 FilledTonalButton基础入门(教程含源码)
What should I do if my computer sharing printer refuses access
随机推荐
Understand Alibaba cloud's secret weapon "dragon architecture" in the article "science popularization talent"
Why is TCP three handshakes and four waves
WinCC7.5 SP1如何通过交叉索引来寻找变量及其位置?
See how Tencent does interface automation testing
Go language notes (4) go common management commands
JS closure
The concept and application of hash table
Win11U盘拒绝访问怎么办?Win11U盘拒绝访问的有效解决方法
哈希表、哈希函数、布隆过滤器、一致性哈希
栈:如何实现有效括号的判断?
Record the online bug solving list (unfinished to be continued 7/4)
Flet教程之 07 PopupMenuButton基础入门(教程含源码)
MySQL --- 数据库查询 - 聚合函数的使用、聚合查询、分组查询
word中使用自动插入题注功能
工厂从自动化到数字孪生,图扑能干什么?
Idea plug-in
LeetCode 8. String conversion integer (ATOI)
Cdga | six principles that data governance has to adhere to
LeetCode+ 81 - 85 单调栈专题
LeetCode 871. 最低加油次数