计算机编程中的编码一直是让新手非常头疼的问题,特别是 GBK.GB2312.UTF-8 这三个比较常见的网页编码的区别,更是让许多新手晕头转向,怎么解释也解释不清楚,看一遍貌似懂了,但实际使用的时候又是一脸懵逼,使用老是出错,乱码哎! 但是编码又是那么重要,特别在网页这一块.如果你打出来的不是乱码,而网页中出现了乱码,绝大部分原因就出在了编码上了.此外除了乱码之外,还会出现一些其他问题(例如:IE6 的 CSS 加载问题)等等.本文的目的,就是要彻底解释清楚这个编码问题!如果你遇到了类似的问题,…
编码和解码可以理解成二进制和字符(广义的字符,包括汉字等)的映射表,编码即从字符映射至二进制,解码则为逆过程. 1.英语字符编码ASCII 开始计算机只在美国用.8字节一共可以组合出256(2的8次方)种不同的状态.美国人把其中的编号从0开始的32种状态分别规定了特殊的用途,一但终端.打印机遇上约定好的这些字节被传过来时,就要做一些约定的动作.遇上00x10, 终端就换行,遇上0x07, 终端就向人们嘟嘟叫,例好遇上0x1b, 打印机就打印反白的字,或者终端就用彩色显示字母.他们看到这样很好,于…
众所周知,一个文字从输入到显示到存储是有一个固定过程的,其过程为:输入码(根据输入法不同而不同)→机内码(根据语言环境不同而不同,不同的系统语言编码也不一样)→字型码(根据不同的字体而不同)→存储码(根据保存的编码类型不同而不同).不同的存储码之间又有什么异同呢? 一.ASCII系列编码 首先来说明ASCII码(American Standard Code for Information Interchange,美国标准信息交换码),这个编码的时代就久远了,是由美国国家标准局(ANSI)制定,目…
ASCII码ASCII:https://zh.wikipedia.org/wiki/ASCIIASCII(American Standard Code for Information Interchange,美国标准信息交换代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言.它是现今最通用的单字节编码系统,并且已被国际标准化组织(International Organization for Standardization, ISO)定为国际标准,称为ISO 646标准.起…
[1]ASCII 每个字符占据1bytes(字节),第一次以规范标准发表是在1967年,最后一次修订是在1986年.用二进制表示的话最高位必须为0(扩展的ASCII不在考虑范围内),因此ASCII只能表示128个字 [2]GB2312 最早一版的中文编码(1980年),每个字占据2bytes.由于要和ASCII兼容,那这2bytes最高位不可以为0了(否则和ASCII会有冲突).在GB2312中收录了6763个汉字以及682个特殊符号,已经囊括了生活中最常用的所有汉字. [3]GBK 由于GB2…
本文为转载. 很久很久以前,有一群人,他们决定用8个可以开合的晶体管来组合成不同的状态,以表示世界上的万物.他们认为8个开关状态作为原子单位很好,于是他们把这称为"字节". 再后来,他们又做了一些可以处理这些字节的机器,机器开动了,可以用字节来组合出更多的状态,状态开始变来变去.他们看到这样是好的,于是它们就这机器称为"计算机". 开始计算机只在美国用.八位的字节一共可以组合出256(2的8次方)种不同的状态. 他们把其中的编号从0开始的32种状态分别规定了特殊的用…
引言 在显示器上看见的文字.图片等信息在电脑里面其实并不是我们看见的样子,即使你知道所有信息都存储在硬盘里,把它拆开也看不见里面有任何东西,只有些盘片.假设,你用显微镜把盘片放大,会看见盘片表面凹凸不平,凸起的地方被磁化,凹的地方是没有被磁化:凸起的地方代表数字1,凹的地方代表数字0.硬盘只能用0和1来表示所有文字.图片等信息.那么字母"A"在硬盘上是如何存储的呢? 可能小张计算机存储字母"A"是1100001,而小王存储字母"A"是110000…
引言 在显示器上看见的文字.图片等信息在电脑里面其实并不是我们看见的样子,即使你知道所有信息都存储在硬盘里,把它拆开也看不见里面有任何东西,只有些盘片.假设,你用显微镜把盘片放大,会看见盘片表面凹凸不平,凸起的地方被磁化,凹的地方是没有被磁化:凸起的地方代表数字1,凹的地方代表数字0.硬盘只能用0和1来表示所有文字.图片等信息.那么字母”A”在硬盘上是如何存储的呢? 可能小张计算机存储字母”A”是1100001,而小王存储字母”A”是11000010,这样双方交换信息时就会误解.比如小张把110…
1.ASCII码: ASCII(American Standard Code for Information Interchange,美国信息互换标准代码)是基于拉丁字母的一套电脑编码系统.它主要用于显示现代英语和其他西欧语言.它是现今最通用的单字节编码系统,并等同于国际标准ISO/IEC 646.ASCII 码使用指定的7 位或8 位二进制数组合来表示128 或256 种可能的字符.标准ASCII 码也叫基础ASCII码,使用7 位二进制数来表示所有的大写和小写字母,数字0 到9.标点符号,…
先上代码 后续更新 public class Unicode { public static void main(String[] args) { char ch1 = 'c'; char ch2 = '中'; int ch3 = 'c'; int ch4 = '中'; System.out.println(ch1); // c 英文字符 System.out.println(ch2); // 中 中文字符 System.out.println(ch3); // 99 ASCII码 System…