当前位置:网站首页>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
边栏推荐
- In the face of the same complex test task, why can the elder sort out the solution quickly? Ali's ten-year test engineers showed their skills
- The concept and application of hash table
- 《动手学深度学习》(三) -- 卷积神经网络 CNN
- MySQL statement execution details
- 【ISMB2022教程】图表示学习的精准医疗,哈佛大学Marinka Zitnik主讲,附87页ppt
- See how Tencent does interface automation testing
- Reinforcement learning - learning notes 2 | value learning
- 记一次重复造轮子(Obsidian 插件设置说明汉化)
- idea插件
- NetCore3.1 Json web token 中间件
猜你喜欢

接口設計時的一些建議

电脑共享打印机拒绝访问要怎么办

uniapp 富文本编辑器使用

ICML 2022 | meta proposes a robust multi-objective Bayesian optimization method to effectively deal with input noise

LeetCode+ 81 - 85 单调栈专题

针对深度学习的“失忆症”,科学家提出基于相似性加权交错学习,登上PNAS

电脑页面不能全屏怎么办?Win11页面不能全屏的解决方法

托管式服务网络:云原生时代的应用体系架构进化

MySQL - database query - use of aggregate function, aggregate query, grouping query

Flet教程之 08 AppBar工具栏基础入门(教程含源码)
随机推荐
HMS Core 统一扫码服务
In the face of the same complex test task, why can the elder sort out the solution quickly? Ali's ten-year test engineers showed their skills
Qt五子棋人机对战画棋子之QPainter的使用误区总结
Quelques suggestions pour la conception de l'interface
LeetCode+ 81 - 85 单调栈专题
记录线上bug解决list(未完待续7/4)
GVM use
CDGA|数据治理不得不坚持的六个原则
[ismb2022 tutorial] the picture shows the precision medicine of learning. Marinka zitnik, Harvard University, keynote speaker, with 87 ppt
分析伦敦银走势图的技巧
剑指 Offer II 80-100(持续更新)
acwing 3302. Expression evaluation
Hash quiz game system development how to develop hash quiz game system development (multiple cases)
HMS Core 机器学习服务
Flet教程之 07 PopupMenuButton基础入门(教程含源码)
What if the WiFi of win11 system always drops? Solution of WiFi total drop in win11 system
Leetcode+ 81 - 85 monotone stack topic
Automatic insertion of captions in word
[in-depth learning] review pytoch's 19 loss functions
卷积神经网络在深度学习中新发展的5篇论文推荐