漢字的ASCII

漢字的ASCII

漢字的ASCII是負數是因爲你錯誤使用有符號的整型觀察它,它實質上不是負數。

 

相關問題細節如下:

  1. 英文標準的ASCII碼中只有128個符號,只需要7位,但是計算機分配存儲的最基本單位是字節,至少是8位,因此最高位爲0;

  2. 因此常見的西文符號的ASCII都是在0-127之間,無論是有符號還是無符號去觀察它們,都是正的。

  3. 中文的符號遠超過256個,因此用一個字節不能存儲漢字,早期的GB2312採用了兩個字節。

  4. 但是很麻煩的問題是一個漢字用兩個字節存儲在計算機中後,和兩個西文字母的ASCII混淆,爲了避免這個混淆,漢字兩個字節的最高位都是1。

  5. 如果用有符號的數去讀取一個漢字的內容,最高位的1正好和負號位置相同,因此此時就會發現漢字的內嗎是負的。

     

    實質上漢字應該用字符型而不是整型去讀取和顯示它。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章