字符编码集与ASCII码表

164 阅读3分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第11天,点击查看活动详情

哈喽,大家好!我是Why,一名在读学生,目前刚刚开始进入自己的编程学习生涯。虽然学习起步较晚,但我坚信做了才有0或1的可能。学了一段时间以后也是选择在掘金上分享自己的日常笔记,也希望能够在众多道友的大家庭中打成一片。 本文主要讲解字符编码集与ASCII码表,如果大家读后觉得有用的话,还请大家多多支持博主:欢迎 ❤️点赞👍、收藏⭐、留言💬 ✨✨✨个人主页:JinHuan

文章目录

字符编码

什么是字符编码?
		字符编码是人为的定义的一套转换表。
		在字符编码中规定了一系列的文字对应的二进制。
		字符编码其实本质上就是一本字典,该字段中描述了文字与二进制之间的对照关系。
		字符编码是人为规定的。(是某个计算机协会规定的。)
	
字符编码涉及到编码和解码两个过程,编码和解码的时候必须采用同一套字符编码方式,不然就会出现乱码。

	关于字符编码的发展过程?
		起初的时候计算机是不支持文字的,只支持科学计算。实际上计算机起初是为了
		战争而开发的,计算导弹的轨道....

		后来随着计算机的发展,计算机开始支持文字,最先支持的文字是英文,英文
		对应的字符编码方式是:ASCII码。

		ASCII码采用1byte进行存储,因为英文字母是26个。(键盘上所有的键全部算上也
		超不过256个。1byte可以表示256种不同的情况。所以英文本身在计算机方面就占有
		优势。)
			'a' --(采用ASCII码进行编码)-> 01100001
			01100001 --(采用ASCII码进行解码)-> 'a'
			如果编码和解码采用的不是同一个编码方式,会出现乱码。
			'b' ---> 98
			'c' ---> 99...
			'a' ---> 97

			'A' ---> 65
			'B' ---> 66
			...

			'0' ---> 48  (这个'0'不是那个0,是文字'0''1' ---> 49
		
		随着计算机语言的发展,后来国际标准组织制定了ISO-8859-1编码方式,
		又称为latin-1编码方式,向上兼容ASCII码。但不支持中文。

		后来发展到亚洲,才支持中文,日文,韩文....
		中文这块的编码方式:GB2312<GBK<GB18030 (容量的关系)
		以上编码方式是简体中文。

		繁体中文:big5(台湾使用的是大五码。)

		在java中,java语言为了支持全球所有的文字,采用了一种字符编码方式
		叫做unicode编码。unicode编码统一了全球所有的文字,支持所有文字。
		具体的实现包括:UTF-8 UTF-16 UTF-32....
	
	需要记住:
		ASCII('a'97 'A'65 '0'48...)
		ISO-8859-1(latin-1)
		GB2312
		GBK
		GB18030
		Big5
		unicode(utf8 utf16 utf32)
ASCII 字符编码采用一个字节编码,主要针对英文编码
ISO-8859-1有称 latin-1,是国际化标准或组织 ISO 制定 的,主要为了西欧语言中的字符编码,和 ASCII 兼容
GB2312/GBK/GB18030主要是汉字编码,三种编码从容量上看是包 含关系
unicode统一了全世界上的所有文字编码,unicode 有几种实现:UTF-8,UTF-16,UTF-32