编码方式ASCII、GBK、Unicode、UTF-8比较

心情:

写代码经常遇到中文乱码问题,很烦,一气之下总结了各种编码方式(O`-`O)!!

文章内容深度较浅,详细了解可到下链接:https://blog.csdn.net/QuinnNorris/article/details/78705723;

总结了以下几种编码方式:

ASCII、GBK(GB2312、GB18030)、Unicode、UTF-8

ASCII

American Standard Code for Information Interchange

最早的编码,一个字符一个字节。没有中文字符,用这个编译中文就会乱码。

一个字节8个比特,最多表示127个字符,2^7=128,7位编码。

后来有个扩展的,有256个字符,但不是国际标准。

GBK、GB2312、GB18030

中文编码,两个字节,第一个字节最高位是1。

不同国家各有标准,如,日文:Shift_JIS、韩文:Euc-kr。

Unicode

全球统一编码,包含所有国家语言的字符。
2字节,英文第一个字节是0,所以大量英文字会浪费空间。

UTF-8

变长编码,灵活“容错率”强,可为1字节可为2字节,1-4字节。

英文上,UTF-8与ASCII一样。

中文用了三个字节。

单字节0开头,双字节110..10..开头,三字节1110..10..10..开头。

原文地址:https://www.cnblogs.com/foxer-z/p/10805283.html

时间: 2024-08-29 02:35:11

编码方式ASCII、GBK、Unicode、UTF-8比较的相关文章

所谓编码--泛谈ASCII、Unicode、UTF8、UTF16、UCS-2等编码格式

最近在看nodejs的源码,看到stream的实现里面满地都是encoding,不由想起以前看过的一篇文章--在前面的随笔里面有提到过--阮一峰老师的<字符编码笔记:ASCII,Unicode和UTF-8>. 好的文章有一个好处,你每次看都会有新的收获,它就像一款拼图,你每次看都能收获几块碎片,补齐之前的认识:而好文章与拼图不一样的是,好文章是一块无垠的世界,当你不愿局限于当前的眼界的时候,你可以主动走出去,外面要更宽广.更精彩的多. 闲话说到这,开始聊聊所谓的编码. 大家都知道,计算机只认识

【转】【编码】ASCII 、UNICODE和UTF-8之二

字符发展 1. 美国 ASCII-(American standard code information interchange) 美国信息互换标准代码 范围:1-127 ; 单字 备注:前部用作控制码,0x20以下的字节状态称为"控制码":后面跟数字,字母大小写至127 2. 美国 ASCII扩展编码 范围:128-255; 单字 备注:很多画表格时需要用下到的横线.竖线.交叉等形状,一直把序号编到了最后一 个状态255 3. 中国GB2312 原由:中国人们得到计算机时,有6000

字符编码,ASCII、Unicode与UTF-8的理解

首先我们先要明白的两点是:1.计算机中的信息都是由二进制的0和1储存的:2.我们再计算机屏幕上看到的各种字符都是计算机系统按照一定的规则将二进制数字转换而来的. 一.基本概念. 1.字符集(charset):简单来说就是计算机支持的所有字符的集合.但字符集并不是一成不变的,随着计算机在全世界的普及,计算机需要支持的字符越来越多. 2.编码系统(规则):本质上是一套规则,用来规定一个特定的字符对应的是哪一个二进制数字.所以编码系统是一个映射的集合,每一个映射的两端分别是一个字符和一个二进制数字.

字符编码:ASCII,Unicode和UTF-8

今天中午,我突然想搞清楚Unicode和UTF-8之间的关系,于是就开始在网上查资料. 结果,这个问题比我想象的复杂,从午饭后一直看到晚上9点,才算初步搞清楚. 下面就是我的笔记,主要用来整理自己的思路.但是,我尽量试图写得通俗易懂,希望能对其他朋友有用.毕竟,字符编码是计算机技术的基石,想要熟练使用计算机,就必须懂得一点字符编码的知识. 1. ASCII码 我们知道,在计算机内部,所有的信息最终都表示为一个二进制的字符串.每一个二进制位(bit)有0和1两种状态,因此八个二进制位就可以组合出2

字符编码原理 ASCII,Unicode和UTF-8

字符编码笔记:ASCII,Unicode和UTF-8 今天中午,我突然想搞清楚Unicode和UTF-8之间的关系,于是就开始在网上查资料. 结果,这个问题比我想象的复杂,从午饭后一直看到晚上9点,才算初步搞清楚. 下面就是我的笔记,主要用来整理自己的思路.但是,我尽量试图写得通俗易懂,希望能对其他朋友有用.毕竟,字符编码是计算机技术的基石,想要熟练使用计算机,就必须懂得一点字符编码的知识. 1. ASCII码 我们知道,在计算机内部,所有的信息最终都表示为一个二进制的字符串.每一个二进制位(b

字符编码中ASCII、Unicode和UTF-8的区别

最早只有127个字母被编码到计算机里,也就是大小写英文字母.数字和一些符号,这个编码表被称为ASCII编码,比如大写字母A的编码是65,小写字母z的编码是122. 但是要处理中文显然一个字节是不够的,至少需要两个字节,而且还不能和ASCII编码冲突,所以,中国制定了GB2312编码,用来把中文编进去. 你可以想得到的是,全世界有上百种语言,日本把日文编到Shift_JIS里,韩国把韩文编到Euc-kr里,各国有各国的标准,就会不可避免地出现冲突,结果就是,在多语言混合的文本中,显示出来会有乱码.

Unicode代码点与编码方式

一.Unicode字符集 UTF编码,全称是Unicode Transformer Format,这种编码是UCS(Universal Mutiple-Octet Doded Character Set,国际标准ISO10646规定的通用字符集)的实际形式,它的分类是按照其基本长度所占用的位数而定,分为UTF-8/16/32三种形式.UTF可以说是其他字符集的集合,它使得其它字符集是交叉兼容的,可以说,凡是将文字符号转为UCS后再转回原来的编码,也不会丢失信息.UCS包含了现在所有的已知语言的字

ascii、unicode、utf-8、gbk 区别?

发展史: https://www.cnblogs.com/houxt/p/11250878.html python2内容进行编码(默认ascii),而python3对内容进行编码的默认为utf-8. ascii: 最多只能用8位来表示(一个字节),即:2**8 = 256(即pow(2,8)=256),所以,ASCII码最多只能表示256个符号. unicode:万国码,任何一个字符==两个字节 utf-8:万国码的升级版,一个中文字符==三个字节,英文是一个字节,欧洲的是2个字节 gbk:国内

Python学习之——编码方式

1.各种编码方式 ASCII:http://zh.wikipedia.org/zh-hans/ASCII Unicode:http://zh.wikipedia.org/zh-hans/Unicode UTF-8:http://zh.wikipedia.org/zh/UTF-8 GBK:http://zh.wikipedia.org/zh/%E6%B1%89%E5%AD%97%E5%86%85%E7%A0%81%E6%89%A9%E5%B1%95%E8%A7%84%E8%8C%83 GB_231