学习计算机的编码

一、ASCII(American Standard Code for Information Interchange,美国信息互换标准代码)

是基于罗马字母表的一套电脑编码系统,它主要用于显示现代英语和其他西欧语言。

它是现今最通用的单字节编码系统,并等同于国际标准ISO 646。

包含内容:

控制字符回车键、退格、换行键等。

可显示字符:英文大小写字符、阿拉伯数字和西文符号

ASCII扩展字符集扩展:表格符号、计算符号、希腊字母和特殊的拉丁符号。

第0~31号及第127号(共33个)是控制字符或通讯专用字符,如控制符:LF(换行)、CR(回车)、FF(换页)、DEL(删除)、BEL(振铃)等;通讯专用字符:SOH(文头)、EOT(文尾)、ACK(确认)等;

第32~126号(共94个)是字符,其中第48~57号为0~9十个阿拉伯数字;65~90号为26个大写英文字母,97~122号为26个小写英文字母,其余为一些标点符号、运算符号等。

注意:在计算机的存储单元中,一个ASCII码值占一个字节(8个二进制位),其最高位(b7)用作奇偶校验位。所谓奇偶校验,是指在代码传送过程中用来检验是否出现错误的一种方法,一般分奇校验和偶校验两种。奇校验规定:正确的代码一个字节中1的个数必须是奇数,若非奇数,则在最高位b7添1;偶校验规定:正确的代码一个字节中1的个数必须是偶数,若非偶数,则在最高位b7添1。

二、GB2312

GB2312又称为GB2312-80字符集,全称为《信息交换用汉字编码字符集·基本集》,由原中国国家标准总局发布,1981年5月1日实施,是中国国家标准的简体中文字符集。它所收录的汉字已经覆盖99.75%的使用频率,基本满足了汉字的计算机处理需要。在中国大陆和新加坡获广泛使用。

GB2312收录简化汉字及一般符号、序号、数字、拉丁字母、日文假名、希腊字母、俄文字母、汉语拼音符号、汉语注音字母,共 7445 个图形字符。其中包括6763个汉字,其中一级汉字3755个,二级汉字3008个;包括拉丁字母、希腊字母、日文平假名及片假名字母、俄语西里尔字母在内的682个全角字符

GB2312中对所收汉字进行了“分区”处理,每区含有94个汉字/符号。这种表示方式也称为区位码。

它是用双字节表示的,两个字节中前面的字节为第一字节,后面的字节为第二字节。习惯上称第一字节为“高字节” ,而称第二字节为“低字节”。“高位字节”使用了0xA1-0xF7(把01-87区的区号加上0xA0),“低位字节”使用了0xA1-0xFE(把01-94加上0xA0)。

以GB2312字符集的第一个汉字“啊”字为例,它的区号16,位号01,则区位码是1601,在大多数计算机程序中,高字节和低字节分别加0xA0得到程序的汉字处理编码0xB0A1。计算公式是:0xB0=0xA0+16, 0xA1=0xA0+1。

三、GBK

GBK字符集是GB2312的扩展(K),GBK1.0收录了21886个符号,它分为汉字区和图形符号区,汉字区包括21003个字符。

GBK字符集主要扩展了繁体中文字的支持。

四、BIG5

BIG5又称大五码或五大码,1984年由台湾财团法人信息工业策进会和五间软件公司宏碁 (Acer)、神通 (MiTAC)、佳佳、零壹 (Zero One)、大众 (FIC)创立,故称大五码。

Big5码的产生,是因为当时台湾不同厂商各自推出不同的编码,如倚天码、IBM PS55、王安码等,彼此不能兼容;另一方面,台湾政府当时尚未推出官方的汉字编码,而中国大陆的GB2312编码亦未有收录繁体中文字。

Big5字符集共收录13,053个中文字,该字符集在中国台湾使用。耐人寻味的是该字符集重复地收录了两个相同的字:“兀”(0xA461及0xC94A)、“嗀”(0xDCD1及0xDDFC)。

Big5码使用了双字节储存方法,以两个字节来编码一个字。第一个字节称为“高位字节”,第二个字节称为“低位字节”。高位字节的编码范围0xA1-0xF9,低位字节的编码范围0x40-0x7E及0xA1-0xFE。

尽管Big5码内包含一万多个字符,但是没有考虑社会上流通的人名、地名用字、方言用字、化学及生物科等用字,没有包含日文平假名及片假字母。

例如台湾视“着”为“著”的异体字,故没有收录“着”字。康熙字典中的一些部首用字(如“亠”、“疒”、“辵”、“癶”等)、常见的人名用字(如“堃”、“煊”、“栢”、“喆”等) 也没有收录到Big5之中。

五、GB18030

GB18030的全称是GB18030-2000《信息交换用汉字编码字符集基本集的扩充》[1]  ,是我国政府于2000年3月17日发布的新的汉字编码国家标准,2001年8月31日后在中国市场上发布的软件必须符合本标准。GB 18030字符集标准的出台经过广泛参与和论证,来自国内外知名信息技术行业的公司,信息产业部和原国家质量技术监督局联合实施。

GB 18030字符集标准解决汉字、日文假名、朝鲜语和中国少数民族文字组成的大字符集计算机编码问题。该标准的字符总编码空间超过150万个编码位,收录了27484个汉字,覆盖中文、日文、朝鲜语和中国少数民族文字。满足中国大陆、香港、台湾、日本和韩国等东亚地区信息交换多文种、大字量、多用途、统一编码格式的要求。并且与Unicode 3.0版本兼容,填补Unicode扩展字符字汇“统一汉字扩展A”的内容。并且与以前的国家字符编码标准(GB2312,GB13000.1)兼容。

编码方法:

GB 18030标准采用单字节、双字节和四字节三种方式对字符编码。

单字节部分使用0×00至0×7F码(对应于ASCII码的相应码)。

双字节部分,首字节码从0×81至0×FE,尾字节码位分别是0×40至0×7E和0×80至0×FE。

四字节部分采用GB/T 11383未采用的0×30到0×39作为对双字节编码扩充的后缀,这样扩充的四字节编码,其范围为0×81308130到0×FE39FE39。其中第一、三个字节编码码位均为0×81至0×FE,第二、四个字节编码码位均为0×30至0×39。

按照程序员的称呼,GB2312、GBK到GB18030都属于双字节字符集(DBCS)。

接着是国际通用的unicode字符集

六、ANSI编码

不同的国家和地区制定了不同的标准,由此产生了 GB2312, BIG5, JIS 等各自的编码标准。这些使用 2 个字节来代表一个字符的各种汉字延伸编码方式,称为 ANSI 编码。在简体中文系统下,ANSI 编码代表 GB2312 编码,在日文操作系统下,ANSI 编码代表 JIS 编码。

七、Unicode

Unicode字符集编码是(Universal Multiple-Octet Coded Character Set) 通用多八位编码字符集的简称,支持世界上超过650种语言的国际字符集。Unicode允许在同一服务器上混合使用不同语言组的不同语言。它是由一个名为 Unicode 学术学会(Unicode Consortium)的机构制订的字符编码系统,支持现今世界各种不同语言的书面文本的交换、处理及显示。该编码于1990年开始研发,1994年正式公布,最新版本是2005年3月31日的Unicode 4.1.0。Unicode是一种在计算机上使用的字符编码。它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。

编码方法

Unicode 标准始终使用十六进制数字,而且在书写时在前面加上前缀“U+”,例如字母“A”的编码为 0X0041 。所以“A”的编码书写为“U+0041”。

UTF-8 编码

UTF-8是Unicode的其中一个使用方式。 UTF是 Unicode Translation Format,即把Unicode转做某种格式的意思。

UTF-8便于不同的计算机之间使用网络传输不同语言和编码的文字,使得双字节的Unicode能够在现存的处理单字节的系统上正确传输。

UTF-8使用可变长度字节来储存 Unicode字符,例如ASCII字母继续使用1字节储存,重音文字、希腊字母或西里尔字母等使用2字节来储存,而常用的汉字就要使用3字节。辅助平面字符则使用4字节。

UTF-16 和 UTF-32 编码

UTF-32、UTF-16和 UTF-8 是 Unicode 标准的编码字符集字符编码方案,UTF-16 使用一个或两个未分配的 16 位代码单元的序列对 Unicode 代码点进行编码;UTF-32 即将每一个 Unicode 代码点表示为相同值的 32 位整数

通过一个问题了解unicode编码

问题:使用Windows记事本的“另存为”,可以在ANSI、GBK、Unicode、Unicode big endian和UTF-8这几种编码方式间相互转换。同样是txt文件,Windows怎样识别编码方式的呢?

Unicode、Unicode big endian和UTF-8编码的txt文件的开头会多出几个字节,分别是FFFE(Unicode),FE、FF(Unicode big endian),EF、BB、BF(UTF-8)。但这些标记是基于什么标准呢?

ANSI字符集定义:ASCII字符集,以及由此派生并兼容的字符集,如:GB2312,正式的名称为MBCS(Multi-Byte Chactacter System,多字节字符系统),通常也称为ANSI字符集。

时间: 2024-10-05 05:32:18

学习计算机的编码的相关文章

第1次作业:学习计算机需要多加思考

这篇随笔记录了我阅读这些博文的感想. 第一部分:结缘计算机 当初选择计算机这个专业,是因为自己对编程这块还是有一定的兴趣的,希望能够编制一些有趣或者有用的软件或者程序:当然另一方面的原因就是这个专业比较好就业,并且对其它大部分专业也没有太大兴趣,所以目前计算机是我喜欢但不是非常擅长的领域.我认为我目前的条件还是可以学好计算机的专业知识,但对比老师推荐的这些博主来说还是相差甚远的. 第二部分:在计算机系里学习 我觉得我最想吐槽的就是选择咱们这个专业并不能完全专一地学习计算机编程,学的太杂.至于国内

每天十分钟学习计算机专业英语(一)

每天十分钟学习计算机专业英语(一) 对于一个程序员来说,良好的英语阅读能力是很重要的.因为我们往往需要阅读英文的文档,比如MDN.除此之外,使用github和stackoverflow这些网站也是需要良好的英语能力作为支撑的.这一系列的博文会记录计算机专业英语的相关知识,以提升我们的英文阅读和翻译水平. 第一部分:基本单词 hardware n 硬件 keyboard n 键盘 typewriter n 打字机 button n 按钮 type v 打字 n 类型 traditional adj

如何学习计算机

看了这几篇文章,感触颇深,大学以前也没有怎么接触计算机,当初报志愿也是因为我想尝试一些新的东西,然后选了这个专业.刚接触这个专业的时候比如c#.网页设计等,感觉头都大了,因为学习它们不单单靠老师讲,还得无数次地练习才可能学会.我从学习中总结出一些对我很有用的方法,第一,那就是上课认真听老师讲课的情况下,必须记笔记,因为”好记性不如烂笔头“,因为我们上课是先上理论课,等到实训课的时候老师就让我们自己练,如果不记笔记的话就可能浪费时间,一节课可能做不完一个项目.第二,得学会许多专业的英语单词,得背得

非计算机专业学习计算机

一个同学的问题:李老师好,我是一名文科类专业学生,但本身对计算机信息专业方面很感兴趣,并希望在此方面有所发展,但对该学科总体架构方面诸多迷惑,不知您能否为我提出些许建议? 我想了一下计算机专业的课程设置给了如下建议: 1.找计算机系统结构.组成原理.操作系统.计算机网络.数据库原理.信息管理系统这些书看看,能理解多少理解多少.这个可以和下面的过程同步进行,并且重复多遍.2.找本C语言的书或者Java语言的书,书一定要偏操作的,最好你能跟着书做.把书后的习题上机调试了.3.找本数据结构的书,尽量去

如何学习计算机编程语言

关于如何学习计算机编程语言(C, C++, Java, Python, PHP, ...)1. 计算机编程语言是我们和计算机交流信息的载体,我们通过它和计算机"说话",计算机听到我们说的话,领会了我们的意图,就按我们说的话去做事,最后计算机也要回应我们,通过显示器或其他硬件设备把信息传达给我们.2. 计算机编程语言多种多样,各种语言层出不穷,在某段时间里会有一些语言比较"吃香",使用者很多,技术更新很快.3. 很多人因为不同的原因开始学习计算机编程语言,那么到底如何

努力学习计算机,发博文见证

近期决定学习计算机,今天突然脑洞大开觉得应该做点什么来激励自己,于是决定写一篇博文.希望以后在看到这篇博文能有所感悟吧. 今年我18岁,就读于辽宁工业大学成人教育学院,注定了我的道路是坎坷的,我放弃了我应该得到的,但我相信我会得到我想要的.

我是如何学习计算机编程的

我在很小年纪的时候就开始学习编程,我学习编程的方法是创建大量的不同的网站.下面列出的是我创建的主要的网站,其中最早的一个是我11岁时开发的.我希望读者能从我这些复述中获得的信息是:如果你想学习编程,做大量的练习性的项目是非常必要的. 学习一种技术最好的方法就是练习,练习,练习.所有我知道的最优秀的程序员都深深的享受编程——编程是一件让他们干起来无由的高兴的事情.也因此他们大量的编程.经常,那是一种不健康的废寝忘食.学习如何编程——以及如何编好程——并不需要你具有超人的能力.你只需要去按照自己的意

关于如何学习计算机

         关于如何学习计算机 经过了将近一个月的大学生活,我基本适应了大学生活,但有一个让我不是特别适应的便是大学的学习生活,在大学的生活中,我们的老师真的不是像高中老师一样一点一,手把手的教学,有些知识点也是一闪而过,只要稍有溜号可能这堂课就听不懂了.所以,自己最近也在摸索如何学习计算机的相关知识. 首先,对于上课溜号问题,其实我认为上课溜号问题是无法避免的(因为从小到现在从来没改回来过.)最好的解决方法便是提前预习老师上课要讲的知识,这样的话,即使溜号了也可以知道大概老师讲的是什么,

学习计算机的三年

学习计算机的三年 学习经历回顾 ?? 不知不觉中大学三年以及过去,现在回忆起来有,有收获也有遗憾.三年前,我对计算机专业的了解不多,选择计算机专业主要是考虑到他发展前景,就业比较不错,所以也谈不上喜欢与不喜欢.如今学习了三年了,这三年中肯定后悔过,在程序出现问题的时候,在实验课设遇到困难的时候,在思考未来的时候,就会觉得是否当初选择了别的专业更适合自己,但是三年过去,我觉得后不后悔以及不重要了,因为一切都不可能重来,不如接受现实. ?? 经过三年的学习,随着学到计算机知识的增加,我对计算机的一些