一、計(jì)算機(jī)存儲(chǔ)中符號(hào)占用字節(jié)空間大小的依據(jù)
計(jì)算機(jī)存儲(chǔ)中符號(hào)占用字節(jié)空間大小的依據(jù)是二進(jìn)制。計(jì)算機(jī)中不管存儲(chǔ)什么信息,都是二進(jìn)制的,也就是0,1而已。信息量越大所需的數(shù)位越多。但是漢字動(dòng)輒上萬,如此大的信息量想用數(shù)位映射就必須擴(kuò)大位數(shù)。一個(gè)字符的ASCII碼占用存儲(chǔ)空間為1個(gè)字節(jié)。在ASCII碼表中,根據(jù)碼值由小到大的排列順序是:控制符、數(shù)字符、大寫英文字母、小寫英文字母。ASCII碼是西文編碼,主要用于顯示現(xiàn)代英語和其他西歐語言,一個(gè)碼占一個(gè)字節(jié)。
ASCII 碼使用指定的7 位或8 位二進(jìn)制數(shù)組合來表示128 或256 種可能的字符。標(biāo)準(zhǔn)ASCII 碼也叫基礎(chǔ)ASCII碼,使用7 位二進(jìn)制數(shù)(剩下的1位二進(jìn)制為0)來表示所有的大寫和小寫字母,數(shù)字0 到9、標(biāo)點(diǎn)符號(hào),以及在美式英語中使用的特殊控制字符。其中:
0~31及127(共33個(gè))是控制字符或通信專用字符(其余為可顯示字符)如控制符:LF(換行)、CR(回車)、FF(換頁)、DEL(刪除)、BS(退格)、BEL(響鈴)等;通信專用字符:SOH(文頭)、EOT(文尾)、ACK(確認(rèn))等;ASCII值為8、9、10 和13 分別轉(zhuǎn)換為退格、制表、換行和回車字符。它們并沒有特定的圖形顯示,但會(huì)依不同的應(yīng)用程序,而對(duì)文本顯示有不同的影響 。32~126(共95個(gè))是字符(32是空格),其中48~57為0到9十個(gè)阿拉伯?dāng)?shù)字。65~90為26個(gè)大寫英文字母,97~122號(hào)為26個(gè)小寫英文字母,其余為一些標(biāo)點(diǎn)符號(hào)、運(yùn)算符號(hào)等。同時(shí)還要注意,在標(biāo)準(zhǔn)ASCII中,其較高位(b7)用作奇偶校驗(yàn)位。所謂奇偶校驗(yàn),是指在代碼傳送過程中用來檢驗(yàn)是否出現(xiàn)錯(cuò)誤的一種方法,一般分奇校驗(yàn)和偶校驗(yàn)兩種。奇校驗(yàn)規(guī)定:正確的代碼一個(gè)字節(jié)中1的個(gè)數(shù)必須是奇數(shù),若非奇數(shù),則在較高位b7添1;偶校驗(yàn)規(guī)定:正確的代碼一個(gè)字節(jié)中1的個(gè)數(shù)必須是偶數(shù),若非偶數(shù),則在較高位b7添1 。
后128個(gè)稱為擴(kuò)展ASCII碼。許多基于x86的系統(tǒng)都支持使用擴(kuò)展(或“高”)ASCII。擴(kuò)展ASCII 碼允許將每個(gè)字符的第8 位用于確定附加的128 個(gè)特殊符號(hào)字符、外來語字母和圖形符號(hào)。
延伸閱讀:
二、“字節(jié)”與“字符”
它們完全不是一個(gè)位面的概念,所以兩者之間沒有“區(qū)別”這個(gè)說法。不同編碼里,字符和字節(jié)的對(duì)應(yīng)關(guān)系不同:
①ASCII碼中,一個(gè)英文字母(不分大小寫)占一個(gè)字節(jié)的空間,一個(gè)中文漢字占兩個(gè)字節(jié)的空間。一個(gè)二進(jìn)制數(shù)字序列,在計(jì)算機(jī)中作為一個(gè)數(shù)字單元,一般為8位二進(jìn)制數(shù),換算為十進(jìn)制。最小值0,最大值255。
②UTF-8編碼中,一個(gè)英文字符等于一個(gè)字節(jié),一個(gè)中文(含繁體)等于三個(gè)字節(jié)。
③Unicode編碼中,一個(gè)英文等于兩個(gè)字節(jié),一個(gè)中文(含繁體)等于兩個(gè)字節(jié)。
符號(hào):英文標(biāo)點(diǎn)占一個(gè)字節(jié),中文標(biāo)點(diǎn)占兩個(gè)字節(jié)。舉例:英文句號(hào)“.”占1個(gè)字節(jié)的大小,中文句號(hào)“?!闭?個(gè)字節(jié)的大小。
④UTF-16編碼中,一個(gè)英文字母字符或一個(gè)漢字字符存儲(chǔ)都需要2個(gè)字節(jié)(Unicode擴(kuò)展區(qū)的一些漢字存儲(chǔ)需要4個(gè)字節(jié))。
⑤UTF-32編碼中,世界上任何字符的存儲(chǔ)都需要4個(gè)字節(jié)。