您好,登錄后才能下訂單哦!
這篇“C語言字符串是以什么形式存入的”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“C語言字符串是以什么形式存入的”文章吧。
C語言中的字符串是以ASCII碼表的形式存入的,輸入英文字符是以英文字符對應的ASCII碼的形式進入寄存器中的,例如輸出hello world!:
將c反匯編得到,
可以看到h的ASCII碼是68,e的ASCII碼是65等等存放進內存的,那中文字呢?中文字并沒有對應的ASCII碼,還可以顯示出來嗎?
答案當然是肯定的,在計算機中存儲中文使用的編碼規則是GB2312或GB2312-80,規定:一個小于127的字符的意義與原來相同,但兩個大于127的字符連在一起時,就表示一個漢字,這樣我們就可以組合出大約7000多個簡體漢字了。在這些編碼里,連在ASCII里本來就有的數字、標點、字母都通通重新編了兩個字節長的編碼,這就是常說的“全角”字符,而原來在127號以下的那些就叫“半角”字符。
將代碼反匯編看看,
這就是中文的存儲方法。
但這樣的話也是有弊端的,我們國家GB2312里的符號的意義可能和別的國家的不一樣,即兩國使用相同的數字代表不同的符號,于是Unicode出現了,我就不說明Unicode的編碼方式了。
以上就是關于“C語言字符串是以什么形式存入的”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。