字符编码UTF-8

Posted ysirsun

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了字符编码UTF-8相关的知识,希望对你有一定的参考价值。

ascii码:用一个字节的低7位来表示英文的128个字符,高1位统一为0。后来随着越来越多的文字被编入ascii吗,高七位也被编进去了。

GB2312:汉字的出现,ascii码无法满足了,所以就出现了GB2312。

UNICODE:为了各国都能认识且使用统一的编码,就发明了这个编码,又名万国码

--------------------------------------------

因为UNICODE之规定了文字和二进制的映射,但是没有规定在实际中怎么存储,因为不同的字需要占用的二进制位数不是固定的,太长了浪费,太短了有些长的不满足,还有一些操作系统的原因等等。

UTF-8:随着各国互联,世界村的出现,各国人凑在一起看小电影,一个画面可能会显示多种语言,所以需要一种统一的,高效的,合适的编码来编解码,UNICODE作为一个蓝本,明显不能满足这三个要求,所以UTF-8出现了:

  另外还有utf-16utf-32等。UTF-8不是固定字长编码的,而是一种变长的编码方式。它可以使用1~4个字节表示一个符号,根据不同的符号而变化字节长度。这是种比较巧妙的设计,如果一个字节的第一位是0,则这个字节单独就是一个字符;如果第一位是1,则连续有多少个1,就表示当前字符占用多少个字节。注意unicode的字符编码和utf-8的存储编码表示是不同的,例如"严"字的Unicode码是4E25,UTF-8编码是E4B8A5,这个7里面解释了的,UTF-8编码不仅考虑了编码,还考虑了存储,E4B8A5是在存储识别编码的基础上塞进了4E25。一般的中文汉字在utf-8中是3个字节,最常见的编码方式是1110xxxx 10xxxxxx 10xxxxxx。

参考文章:https://blog.csdn.net/weixin_30402343/article/details/95836628

以上是关于字符编码UTF-8的主要内容,如果未能解决你的问题,请参考以下文章

将字符串编码为 UTF-8

刨根究底字符编码之十一——UTF-8编码方式与字节序标记

在字符编码格式选项里UTF-8(无BOM)是啥意思呀?

什么是UTF-8编码?

字符串转换成utf-8编码

C# XML 字符串编码问题