当前位置:网站首页>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
边栏推荐
- Alibaba testers use UI automated testing to achieve element positioning
- Automatic generation of interface automatic test cases by actual operation
- go笔记(3)Go语言fmt包的用法
- Go notes (3) usage of go language FMT package
- Hash哈希竞猜游戏系统开发如何开发丨哈希竞猜游戏系统开发(多套案例)
- 【观察】联想:3X(1+N)智慧办公解决方案,释放办公生产力“乘数效应”
- Sword finger offer II 80-100 (continuous update)
- Flet教程之 08 AppBar工具栏基础入门(教程含源码)
- How to solve the problem that win11 cannot write the value to the registry key?
- 左右最值最大差问题
猜你喜欢
随机推荐
word中插入圖片後,圖片上方有一空行,且删除後布局變亂
左右最值最大差问题
MySQL - database query - use of aggregate function, aggregate query, grouping query
MySQL --- 数据库查询 - 聚合函数的使用、聚合查询、分组查询
NLP、视觉、芯片...AI重点方向发展几何?青源会展望报告发布[附下载]
托管式服务网络:云原生时代的应用体系架构进化
Idea plug-in
Understand the reading, writing and creation of files in go language
Qt五子棋人机对战画棋子之QPainter的使用误区总结
接口设计时的一些建议
字节测试工程师十年经验直击UI 自动化测试痛点
Quelques suggestions pour la conception de l'interface
Idea case shortcut
Cdga | six principles that data governance has to adhere to
go语言笔记(4)go常用管理命令
WinCC7.5 SP1如何通过交叉索引来寻找变量及其位置?
哈希(Hash)竞猜游戏系统开发功能分析及源码
E-week finance | Q1 the number of active people in the insurance industry was 86.8867 million, and the licenses of 19 Payment institutions were cancelled
go笔记(1)go语言介绍以及特点
栈:如何实现有效括号的判断?