首頁  >  文章  >  後端開發  >  字符型資料在記憶體中的儲存形式是什麼

字符型資料在記憶體中的儲存形式是什麼

青灯夜游
青灯夜游原創
2021-06-03 11:57:2725672瀏覽

字元型資料在記憶體中的儲存形式是ASCII碼。字元型資料是將一個字元常數放到一個字元變數中,並不是把該字元本身放到記憶體單元中去,而是將該字元的對應的ASCII程式碼放到儲存單元中。

字符型資料在記憶體中的儲存形式是什麼

本教學操作環境:windows7系統、c99版本、Dell G3電腦。

字元型資料在記憶體中儲存的是它的ASCII碼值,它是一個字節,所有資料型別在記憶體中都是以0和1碼二進位儲存的,這個原則不會改變。

在C語言中,char型資料是將一個字元常數放到一個字元變數中,並不是把該字元本身放到記憶體單元中去,而是將該字元的對應的ASCII程式碼放到儲存單元中。

編碼中,一個漢字字元儲存需要2個位元組。在UTF-8編碼中,一個英文字母字元儲存需要1個位元組,一個漢字字元儲存需要3到4個位元組。在UTF-16編碼中,一個英文字母字元或一個漢字字元儲存都需要2個位元組。在UTF-32編碼中,世界上任何字元的儲存都需要4個位元組。

字符型資料在記憶體中的儲存形式是什麼

擴充資料:

ASCII ((American Standard Code for Information Interchange): 美國資訊交換標準代碼)是基於拉丁字母的一套電腦編碼系統,主要用於顯示現代英語和其他西歐語言。它是最通用的資訊交換標準,並等同於國際標準ISO/IEC 646。 ASCII第一次以規範標準的類型發表是在1967年,最後一次更新則是在1986年,到目前為止共定義了128個字元

ASCII 碼使用指定的7 位元或8 位元二進位數組合來表示128 或256 種可能的字元。標準ASCII 碼也叫基礎ASCII碼,使用7 位二進制數(剩下的1位二進制為0)來表示所有的大寫和小寫字母,數字0 到9、標點符號,以及在美式英語中使用的特殊控制字符 [1]  。其中:

0~31及127(共33個)是控製字元或通訊專用字元(其餘為可顯示字元),如控制符:LF(換行)、CR(Enter)、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個小寫英文字母,其餘為一些標點符號、運算符號等。

同時也要注意,在標準ASCII中,其最高位元(b7)用作奇偶校驗位。所謂奇偶校驗,是指在程式碼傳送過程中用來檢驗是否出現錯誤的一種方法,一般分奇校驗和偶校驗兩種。奇校驗規定:正確的代碼一個位元組中1的個數必須是奇數,若非奇數,則在最高位b7添1;偶校驗規定:正確的代碼一個位元組中1的個數必須是偶數,若非偶數,則在最高位b7添1 [1]  。

後128個稱為擴充ASCII碼。許多基於x86的系統都支援使用擴展(或“高”)ASCII。擴展ASCII 碼允許將每個字元的第8 位元用於確定附加的128 個特殊符號字元、外來語字母和圖形符號。

相關推薦:《C語言影片教學

以上是字符型資料在記憶體中的儲存形式是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn