#yyds干货盘点#Golang 字符编码、UTF-8、Unicode之间的关系


作者:Linux猿


简介:CSDN博客专家华为云享专家数据结构和算法、C/C++、面试、刷题尽管咨询我关注我,有问题私聊!

欢迎小伙伴们点赞、收藏⭐、留言


本篇文章主要针对 UTT-8 和 Unicode 进行说明,当然还有涉及其它的编码。

一、什么是字符编码

在正式开始前,先说下什么是字符编码以及字符编码的历史。

字符编码:也称字集码,是把字符集中的字符编码为指定集合中某icould一对象(例如:比特模式、自然数序列、8位组或者电脉冲),字符编码通常用什么码以便文本在计算机中存储和通过通信网络的传递。

简单理解就是以特定模式表示特定字符的golang是什么意思表示形式,例如:ASCII码,使用7比特的二进制来字符编码是什么意思表示128个字符,​​ASCII 码表​​,实际上就是 maicoop 中 key/value的形式。

二、字符编码的发展

2.1 ASCII 编码

ASCgolang培训II 码全程是美国信息交换标准编码(American Standard Code for Informalinux是什么操作系统tion Interchange),最初是作为美国国家标准制定,供不同计算机在相互通信时用作共同遵守的西文字符编码标准,后来它被国际标准化组织(International Organization for Standardization, ISO)定为国际标准,称为ISO 646标准。icould

ASCII 码通常使用一个字节来存储一个字符ico,规定字节的第一位为0,后面的7位用于表示字符。

2.2 Unicode 编码

虽然ASCII可以表示西文字符,但世界icon车型上还有许多的字符(字符编码当然不同的国家会自己的字符编码,但是仅仅表示自己国家的编码)。Unicode便是为了解决传统的Golang字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满linux系统安装足跨语言、跨平台进行文本转换、处理的要求。Unicode 只是一个符号集,规定了每个符号的二进制编码,但众多的字符数量就会导致,有的字符使用一个字节就可以表示,而有的需要几个字节,至于使用多少字节来存储是Unicode没有规定golang培训的。

Unicode 相当于一个行业标准,至于每个企业如何生产并没有规定,所以就出现了UTF-8,UTF-16,UTF-32不同的存储形式linux重启命令

2icon冷少.3 UTF-8 编码

UTF-8(8位元golang中文文档,Univelinux是什么操作系统rsal Character Set/Uniclinux除文件命令odegolang是什么意思 Trgolang是什么意思ansformation Format)是针对Unicodgolang是什么意思e的一种可变长度字符编码。它可以用来golang是什么意思表示Unicgolang官网ode标准中的任何字符,而且其编码中的第一个字节仍与ASCII相容,使得原来处理ASCII字符的软件无须或只进行少部份修改后,便可继续使用。golang官网

UTF-8使用1golang官网~4字节为每个字符编码,相比于统一使用4个字节编码大大节省了空icons间,至于 UTF-8 的编码方式这里就再介绍Golang,有需要的自行学习。

三、Golang 字符编码

Golang 内建支持 UTF-8 编码,支持转化到其它编码,例如:GBK编码,可以使用 golang.org系统运维面试题及答案/x/text 包进行转换。

Unilinux重启命令code code points: 可以简单理解为Unicooicode 用来表示每一个字符的 key,例如:汉字的“字”的十进制使用23383表示,这就是一个编码点。

四、参考链接

[1] https://blog.golang.org/strings

[2] https://www.cnblogs.com/junneyang/p/6097976.html

[3] http://mengqi.info/html/2015/201507071345-using-golang-to-convert-text-between-gbk-and-uicon车型tf-8.html


CSDN博客专家,华为云享专家,数据结构和算法、C/C++、面试、刷题尽管咨询我,关注我,有问题私聊!

欢迎小伙伴们点赞、收藏⭐、留言