您好,登錄后才能下訂單哦!
本文小編為大家詳細介紹“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進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。