說這個問題的時候,首先提一下ASCII編碼作為切入比較容易理解一點;
ASCII編碼:全稱American Standard Code for information Interchange,翻譯過來就是美國信息交換標准碼。
ASCII編碼作用:就是編碼,那什么又是編碼?我個人理解編碼就跟江湖中的好漢劫富濟貧時所用的暗語一樣,栗子:風來了(只有好漢知道這個詞的意思),就表示官兵來了。江湖上用“風來了”用來編碼“官兵來了”,這就是江湖上使用的一套編碼體系。而ASCII碼就是計算機中的一套編碼體系,用一串二進制數字(計算機認識)表示我們現實生活中的一些字符啊數字之類的東西。說的不好聽點跟見人說人話,見鬼說鬼話有異曲同工之妙!
標准表

很可能大家都注意到了,第一列的二進制使用了8個二進制位(8個0、1)。對應的十進制到了最大的127,那為什么是8位呢?因為這套編碼系統是美國統一的標准,對美國人來說;所有字符包括單詞,標點符號都全部都囊括進了這128(0~127)個字符,美國人用完全就夠了。是不是比我們8萬+的漢字總量相比遜色多了。簡單YY下。
這就是最初為什么一個字節(1B)用8個二進制位(8b)來表示的由來了,至於什么system/360那些東西在這里不再贅述,實為一個歷史。
隨着計算機的發展和各國對計算機的使用,這128個字符顯然不能滿足全世界任命的需求了,也就相繼出現了UTF-8、GBK等的編碼體系了。這也說明了在很多編碼體系中一個英文字符為什么占用了一個字節(1B)存儲大小的原因了!
計算機中的換算關系:
1B(Byte) = 8b(bit)
1KB = 1024B
1MB = 1024KB
網絡網速上的10M又是通信系統中的概念了;
表示的是10Mbps,意味帶寬,跟道路的寬度是一個道理,所有的下載軟件手機網速的提示一般都用KB來表示,那么10M的網速實際下載速度就為:
10Mbps / 8(b/位) = 1.25MBps (1.25M/s)