几种常见的编码格式
为什么要编码
不知道大家有没有想过一个问题,那就是为什么要编码?我们能不能不编码?
要回答这个问题,必须要回答计算机是如何表示我们人类能够理解的符合的,这些符号也就是我们人类使用的语言。由于人类的语言太多,表示这些语言的符号太多,无法用计算机中的一个基本的存储单元——字节来表示。因而必须要经过拆分或一些翻译工作,才能让计算机理解我们的语言。我们把计算机能够理解的语言假定为英语,其他语言要能够在计算机上使用,必须得得到一次翻译,把它翻译成英语。这个翻译的过程就是编码。所以可以想象,只要不是说英语的国家,要使用计算机就必须经过编码。这看起来有些霸道,但这就是现状。这也是我国现在在大力推广使用汉语一样,希望其他国家都会说汉语,以后其他语言都被翻译成汉语,我们可以把在计算机中存储的最小单位改成汉语,这样就不存在编码问题了。
所以总结起来说,编码的原因可以总结为下面几条:
- 在计算机中存储信息的最小单元是 1个 字节,即8个bit,所以能表示的字符范围是0~255.
- 人类要表示的符号太多,无法用1个字节完全表示。
要解决这个矛盾必须要有一个新的数据结构char,而从char到byte必须编码。
如何“翻译”
计算机提供了很多翻译方式
- ASCII
- ISO-8859-1
- GB2312
- GBK
- UTF-8
- UTF-16
等