問題1:為什么需要字符ASCII碼、unicode碼等等???它們到底有什么作用?
首先要明白一個事實:在計算機中只能用一系列存儲着的0和1,當我們把一個字符存放在計算機時,我們是如何表示常用的字符呢??這就用到了字符編碼集。 而具體怎么編碼的,就涉及到了常使用的編碼方式,比如本文要介紹的ASCII編碼與unicode編碼,它們的作用就是實現字符與0-1串之間的一一映射。
ASCII碼:
它使用一個字節(即8個二進制位)來映射128個字符。其中,它只用於了8位中的7位,2^7=128。下面是部分ASCII碼表:
unicode碼/unicode字符集:
unicode字符集把全世界所有的字符都統一起來了, 它為每一個字符分配了一個唯一的數字,這些數字的范圍為:0x0000-0x10ffff(16進制表示)。歸定了把這些編碼數字分為了17個平面,即:
0x0000-0xffff:基本平面;
0x10000-0x1ffff: 第一平面;
0x20000-0x2ffff: 第二平面;
0x30000-0x3ffff: 第三平面;
0x40000-0x4ffff: 第四平面;
0x50000-0x5ffff: 第五平面;
0x60000-0x6ffff: 第六平面;
0x70000-0x7ffff: 第七平面;
0x80000-0x8ffff: 第八平面;
0x90000-0x9ffff: 第九平面;
0xa0000-0xaffff: 第十平面;
0xb0000-0xbffff: 第十一平面;
0xc0000-0xcffff: 第十二平面;
0xd0000-0xdffff: 第十三平面;
0xe0000-0xeffff: 第十四平面;
0xf0000-0xfffff: 第十五平面;
0x100000-0x10ffff: 第十六平面;
unicode字符集只時規定了每一個字符對應的unide編碼值。具體這個值如何在計算機中存儲,可以分為多種方法,包括:utf-8,utf-16, utf-32。
又TM的沒寫完,回家了,不寫了。