认识字符集、ASCII、GBK、Unicode、UTF-8
一、标准 ASCII 字符集
ASCII(American Standard Code Information Interchange),美国信息交换标准码,包括了英文、符号等。
标准 ASCII 使用1个字节存储一个字符,首尾是0,总共可以表示128个字符,对于美国人来说完全够用。
二、GBK(汉字内码扩展规范,国标)
汉字编码字符集,包含了2万多个汉字等字符,GBK中一个中文字符编码成两个字节的形式存储。
注意:GBK 兼容了 ASCII 字符集。
GBK规定:汉字的第一个字节的第一位必须是1,例如:
三、Unicode字符集(统一码,也叫万国码)
Unicode 是国际组织制定的,可以容纳世界上所有文字、符号的字符集。
UTF-32,4个字节表示一个字符,有容乃大,缺点就是占存储空间,通信效率变低。
UTF-8,是Unicode字符集一种编码方案,采取可变长编码方案,共分四个长度区:1个字节、2个字节、3个字节、4个字节。
英文字符、数字等只占1个字节(兼容标准 ASCII 编码),汉字字符占用3个字节。
UTF-8 编码方式(二进制):
例子:
注意:技术人员在开发时都应该使用UTF-8编码!
总结:
注意点:
1、字符编码时使用的字符集,和解码时使用的字符集必须一致,否则会出现乱码。
2、英文和数字一般不会乱码,因为很多字符集都兼容了ASCII编码。
四、iso-8859-1
iso8859-1编码表示的字符范围很窄,无法表示中文字符。但是,由于是单字节编码,和计算机最基础的表示单位一致,所以很多时候,仍旧使用iso8859-1编码来表示。而且在很多协议上,默认使用该编码。
虽然’中文’两个字不存在iso8859-1编码,以gb2312编码为例,应该是’d6d0 cec4’两个字符,使用iso8859-1编码的时候则将它拆开为4个字节来表示:‘d6 d0 ce c4’(事实上,在进行存储的时候,也是以字节为单位处理的)。而如果是UTF编码,则是6个字节’e4 b8 ad e6 96 87’。很明显,这种表示方法还需要以另一种编码为基础。
认识字符集、ASCII、GBK、Unicode、UTF-8相关推荐
- ASCII,GBK,Unicode(UTF-32/UTF-8),乱码,ANSI详解
前言 总目录 日常开发过程中,经常会遇到ASCII,GBK,Unicode(UTF-32/UTF-8)等名词,对于这些概念是不是有点傻傻分不清呢?相信看下本文,你会有自己的理解. 一.ASCII码 1 ...
- 码表的理解(ASCII,GBK,Unicode,UTF-8等)。
以下任何言论都完全是个人的理解,如有雷同纯属巧合,如有错误,希望大家多多指出,共同学习!谢谢! 笔者是一个理解能力偏慢.稍钻牛角尖的程序员,什么东西都要从最基础理解起,一步一步向上理解,因此讲述时也是 ...
- 计算机编码种类(ASCII/gbk/unicode/utf-8)
计算机编码的作用 主要是解决将文字转换为二进制码的过程: bytes–>encode–> str --> decode --> bytes ASCII 只适合英文编码,用一个字 ...
- ASCII GBK Unicode 等各种字符编码
ASCII 码(仅适用全英文字符): 编码规则:总共0~127共128个字符编码:占用一个字节的后面7位,最前面的一位统一规定为0 0-31及127(共33个)是控制字符或通信专用字符(不可显示字符) ...
- 个人对码表的理解(ASCII,GBK,Unicode,UTF-8等)。
以下任何言论都完全是个人的理解,如有雷同纯属巧合,如有错误,希望大家多多指出,共同学习!谢谢! 笔者是一个理解能力偏慢.稍钻牛角尖的程序员,什么东西都要从最基础理解起,一步一步向上理解,因此讲述时也是 ...
- 字符集ASCII、GBK、UNICODE、UTF在储存字符时的区别
ASCII编码(American Standard Code for Information Interchange,美国信息互换标准代码),使用127个8进制字节表示英文和半角字符. GBK (Gu ...
- ASCII、Unicode、GBK和UTF-8字符编码的区别联系(转载)
ASCII.Unicode.GBK和UTF-8字符编码的区别联系 转载自:http://dengo.org/archives/901 很久很久以前,有一群人,他们决定用8个可以开合的晶体管来组合成不同 ...
- 深入理解-字符编码ASCII,GB2312,GBK,Unicode,UTF-8
字符编码 简介 起初再考虑写不写这篇文章,感觉这篇文章比较枯燥乏味,而且自己感觉也没理解的太透彻,就把理解的记录下来,所以这是纪念版的 前方高能,非战斗人员请迅速撤离,我要开始装逼了. Go hard ...
- ASCII、Unicode、GBK、UTF-8之间的关系
一.ASCII编码 目录 一.ASCII编码 二.GBK编码 三.Unicode编码 四.UTF-8编码 五.Unicode和UTF-8之间的转换 六.Little endian 和 Big endi ...
- 字符编码、常见字符集解析(ASCII、Unicode、UTF-8、GB2312等)
文章目录 字符编码 ASCII Unicode UTF-8 GB2312 C++中的字符类型 python中的字符编码 小结 各种字符编码的转换是个非常容易混淆的问题,这篇文章旨在梳理字符编码.常见字 ...
最新文章
- so 问题来了,你现在值多少钱?
- sql如何遍历几百万的表_SQL Server遍历表中记录的2种方法(使用表变量和游标)
- 解决.quartz.ObjectAlreadyExistsException: Unable to store Job : ‘jyGroup.jyJob‘, because one already
- 现代软件工程 - 代码量等于树叶量
- 基于文本 c语言,[源码和文档分享]基于C语言实现的文件系统
- 【node】---记忆内容
- apiCloud中aui获取不到高度,pos.h为0,offsetHeight为0问题
- 8 个顶级网络攻击地图以及如何使用它们
- jQuery常用API
- 360插件化方案RePlugin学习笔记-资源共享
- 在Win32中使用OpenGL
- 如何在谷歌地图自定义范围_如何在Google表格中更改和创建自定义数字格式
- LORA芯片ASR6505无线远距离传输8位MCU
- 杨校老师课堂之集群内SSH免密登录功能配置
- vb.net 图形控件_玩转图形:VB.net GlassLabel控件
- 用计算机算出神奇的数,神奇的数字:12345679!先随便乘一个数字,最后乘9,奇迹出现了...
- 微博消息分析-大数据项目
- 纯电动车实际项目模型,本模型基于Cruise软件和Simul
- C语言 将若干个字符串按字母顺序由小到大输出
- 开发者工具绕过Paused in debugger