关于UTF-8、ASCII、Unicode、gbk、gb2312之间的关系的笔记

一直对于字符编码不是很清晰,只知道所有都sublime编辑文档时候设置:文档编码为UTF-8、PHP的header也就是浏览器http响应头显示UTF-8、HTML的meta信息也声明为UTF8、数据库字符集选择utf8、排序规则选择utf-8_ general_ci,但是一直不知道他们是什么来的,今天刷下百度百科:
有一篇写的太好了:

https://www.zhihu.com/question/23374078

以上总结就是 ASCII => GB2312 => GBK =>  Unicode ,半角字符指的是ASCII的127个特殊字符。中文字符是两个8位二进制数字代表的字符(所以两个字节)

那么unicode跟utf-8、utf -16、utf-32有什么关系呢?

所以utf-8代表的unicode码,对于ASCII就能表示的字符,内存是浪费的,因为有个字节是空的。utf比gbk是更加浪费内存的。

简单来说,unicode,gbk和大五码就是编码的值,而utf-8,uft-16之类就是这个值的表现形式.

https://www.wenjiwu.com/doc/epqkni.html

为什么所有网站更青睐于UTF-8呢?

utf-8更多字符、就已经完全压下占内存多的劣势了。

utf8mb4 -- UTF-8 Unicode

utf8mb4_general_ci

创建数据库的时候这些mb4又是什么意思呢?还有这些排序规则怎么选择呢!

原文地址:https://www.cnblogs.com/xuweiqiang/p/8449957.html

时间: 2024-11-10 11:20:52

关于UTF-8、ASCII、Unicode、gbk、gb2312之间的关系的笔记的相关文章

ANSI, UTF-8, Unicode, GBK, GB2312 字符编码小结

这两天碰见一个Bug,涉及到字符编码,一通乱搜后,索性研究了下,整理出来,以便今后查阅. ASCII码,0~127,128个,这个就不用多说了,他是计算机文明的基石.但是这里面只有英文字母,其他国家如何把本国的文字输入到电脑中呢?所以基本每种语言都有自己的字符集,如汉字就有GB2312(简体中文),BIG5(繁体中文)等等. 但不同的ANSI编码在不同语言之间是不兼容的,所以对于不同的操作系统之间文件的传输,或者在同样的操作系统下,源文件语言不同于OS的语言文件的传输,需要转换成UTF-8格式.

【转】关于字符编码,你所需要知道的(ASCII,Unicode,Utf-8,GB2312…)

转载地址:http://www.imkevinyang.com/2010/06/%E5%85%B3%E4%BA%8E%E5%AD%97%E7%AC%A6%E7%BC%96%E7%A0%81%EF%BC%8C%E4%BD%A0%E6%89%80%E9%9C%80%E8%A6%81%E7%9F%A5%E9%81%93%E7%9A%84.html 字符编码的问题看似很小,经常被技术人员忽视,但是很容易导致一些莫名其妙的问题.这里总结了一下字符编码的一些普及性的知识,希望对大家有所帮助. 还是得从ASC

关于字符编码,你所需要知道的(ASCII,Unicode,Utf-8,GB2312…)

字符编码的问题看似很小,经常被技术人员忽视,但是很容易导致一些莫名其妙的问题.这里总结了一下字符编码的一些普及性的知识,希望对大家有所帮助. 还是得从ASCII码说起 说到字符编码,不得不说ASCII码的简史.计算机一开始发明的时候是用来解决数字计算的问题,后来人们发现,计算机还可以做更多的事,例如文本处 理.但由于计算机只识“数”,因此人们必须告诉计算机哪个数字来代表哪个特定字符,例如65代表字母‘A’,66代表字母‘B’,以此类推.但是计算机之间字符-数字的对应关系必须得一致,否则就会造成同

位/字节/ASCII/UTF-8/GBK/GB2312/Unicode 扫盲

1个字节(Byte)=8位 bit  1位就是计算机中的 1 或0 比如10进制1 ,ASCII码是49,二机制是: 00110001 它占用一个字节. ASCII码:一个英文字母(不分大小写)占一个字节的空间,一个中文汉字占两个字节的空间.一个二进制数字序列,在计算机中作为一个数字单元,一般为8位二进制数,换算为十进制.最小值0,最大值255.如一个ASCII码就是一个字节. UTF-8编码:一个英文字符等于一个字节,一个中文(含繁体)等于三个字节. Unicode编码:Unicode是一种编

UTF-8 GBK GB2312 之间的区别和关系

UTF-8:Unicode TransformationFormat-8bit,允许含BOM,但通常不含BOM.是用以解决国际上字符的一种多字节编码,它对英文使用8位(即一个字节),中文使用24为(三个字节)来编码.UTF-8包含全世界所有国家需要用到的字符,是国际编码,通用性强.UTF-8编码的文字可以在各国支持UTF8字符集的浏览器上显示.如,如果是UTF8编码,则在外国人的英文IE上也能显示中文,他们无需下载IE的中文语言支持包.GBK是国家标准GB2312基础上扩容后兼容GB2312的标

【编码】彻底弄懂ASCII、Unicode、UTF-8之间的关系

计算机中的所有字符,说到底都是用二进制的0.1的排列组合来表示的,因此就需要有一个规范,来枚举规定每个字符对应哪个0.1的排列组合,这样的规范就是字符集. ASCII 全称是“美国信息交换标准码”(American Standard Code for Information Interchange),制定于20世纪60年代,这套规范规定了128个字符对应的二进制码.128=27,即只需要7个bit就能完全表示,因此每个ASCII码只需占用1个字节(1Byte = 8bit). 例如,大写字母A对

python中,ascii,unicode,utf8,gbk之间的关系梳理

在计算机中,经常遇到编码问题,本节主要梳理下ascii,unicode,utf8,gbk 这几种编码之间的关系. ASCII 计算机中,所有数据都以0和1来表示.在一开始的时候,要表示的内容比较少,人们使用了ascii编码的方式来编码. ASCII(American Standard Code for Information Interchange,美国标准信息交换代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言,其最多只能用 8 位来表示(一个字节),即:2**8 -

UTF-8 GBK UTF8 GB2312之间的区别和关系

UTF-8 GBK UTF8 GB2312之间的区别和关系 UTF-8:Unicode TransformationFormat-8bit,允许含BOM,但通常不含BOM.是用以解决国际上字符的一种多字节编码,它对英文使用8位(即一个字节),中文使用24为(三个字节)来编码.UTF-8包含全世界所有国家需要用到的字符,是国际编码,通用性强.UTF-8编码的文字可以在各国支持UTF8字符集的浏览器上显示.如,如果是UTF8编码,则在外国人的英文IE上也能显示中文,他们无需下载IE的中文语言支持包.

UTF-8,Unicode,GBK,希腊字母读法,ASCII码表,HTTP错误码,URL编码表,HTML特殊字符,汉字编码简明对照表

UNICODE,GBK,UTF-8区别 UNICODE,GBK,UTF-8区别    简单来说,unicode,gbk和大五码就是编码的值,而utf-8,uft-16之类就是这个值的表现形式.而前面那三种编码是一兼容的,同一个汉字,那三个码值是完全不一样的.如"汉"的uncode值与gbk就是不一样的,假设uncode为a040,gbk为b030,而uft-8码,就是把那个值表现的形式.utf-8码完全只针对uncode来组织的,如果GBK要转UTF-8必须先转uncode码,再转utf-8就O