tft每日頭條

 > 生活

 > 為什麼字節是8位

為什麼字節是8位

生活 更新时间:2025-01-16 03:33:22

一個字節為8位,這是有點編程基礎的人都知道的常識,但是為什麼一定要是8位呢?當初為什麼要這麼設計呢?帶着這個疑問,我查閱了很多資料,總結如下:

首先,我們要溯源一下,位是怎麼來的。這要追溯到最早的輸入輸出設備--穿孔紙帶。

穿孔紙帶是早期計算機的輸入和輸出設備,它将程序和數據轉換二進制代碼:打了孔的代表1,未打孔的代表0,經過光電掃描輸入電腦。

為什麼字節是8位(一個字節為什麼是8位)1

穿孔紙帶是利用打孔技術在紙帶上打上一系列有規律的孔點,以适應機器的讀取和操作,加快工作速度,提升工作效率。是早期向計算機中輸入信息的載體。

穿孔紙帶也叫指令帶,是早期計算機的輸入系統。也用于數控裝置作為控制介質。穿孔紙帶上必須用規定的代碼,以規定的格式排列,并代表規定的信息。數控裝置讀入這些信息後,對它進行處理,用來指揮數控機床完成一定的機械運動。

到這時就出現了字節的概念。在英語中,用128個符号編碼便可以表示所有,即7位就能編碼美國人會用到的字符。

0~31及127(共33個)是控制字符或通信專用字符(其餘為可顯示字符),如控制符:LF(換行)、CR(回車)、FF(換頁)、DEL(删除)、BS(退格)、BEL(響鈴)等;通信專用字符:SOH(文頭)、EOT(文尾)、ACK(确認)等;ASCII值為8、9、10 和13 分别轉換為退格、制表、換行和回車字符。它們并沒有特定的圖形顯示,但會依不同的應用程序,而對文本顯示有不同的影響 [1] 。

32~126(共95個)是字符(32是空格),其中48~57為0到9十個阿拉伯數字。

65~90為26個大寫英文字母,97~122号為26個小寫英文字母,其餘為一些标點符号、運算符号等。

那為什麼字節要用8位表示呢?因為除了英文字母,世界上還有很多的語言字符,光漢字就有10萬多個。聰明的美國人就在前面加了一個bit作為擴充位。當這一最高符号位為1時,表示擴展字符集,此時系統會将該字節和其下一字節合并解釋,并根據當前使用的字符集顯示正确的文字。

而當最高位為0時,就是我們經常說的ASCII編碼,ASCII 編碼是最簡單的西文編碼方案。GB2312、GBK、GB18030 是漢字字符編碼方案的國家标準,這些标準下,一個漢字要占用兩個字節。

到這裡我們可以肯定的是最少要用8位來表示一個字節了。那有些人可能會問了,設置這麼多編碼集多麻煩,直接16位表示一個字節不就簡單多了。這是因為計算機發展初期内存十分寶貴,能少用就少用,如果用16bit定義字節的話,一個英語字符就要占用兩倍内存,這會造成巨大的浪費。而後來出現的UTF-8編碼,一個漢字占3個字節。為什麼要出現三個字節的編碼呢?兩個字節最多編碼65535個字符,我們前面說了,光漢字就有10萬個,還有其他國家的文字,這兩個字節完全不夠用啊。

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2025 - www.tftnews.com All Rights Reserved