1. 程式人生 > >擴充套件ASCII碼錶

擴充套件ASCII碼錶

     C++課程要求寫一個“五子棋”程式,首先要解決的就是五子棋棋盤的顯示問題。一開始的想法是通過列印ASCII碼錶中的 “Box Drawing Character”來顯示出棋盤,於是就動手在“Visual Studio 2010”上實現,程式編譯通過,但是就是無法在DOS介面中顯示,轉到linux上執行,同樣遇到這個問題。而程式在“Visual C++”上執行時可以正常顯示五子棋棋盤。最終發現原因在於不同的平臺對“Extended ASCII Code”的支援是不同的。

    ASCII(American Standard Code for Information Interchange):ASCII 碼使用指定的7 位或8 位二進位制數組合來表示128 或256 種可能的字元,分標準ASCII碼與擴充套件ASCII碼

    標準ASCII 碼也叫基礎ASCII碼,使用7 位二進位制數(剩下的1位二進位制為0)來表示所有的大寫和小寫字母,數字0 到9、標點符號, 以及在美式英語中使用的特殊控制字元。在標準ASCII中,其最高位(b7)用作奇偶校驗位。

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

由於“Visual Studio 2010”預設情況下不支援擴充套件ASCII碼,所以無法列印128~255的字元,但是通過“system(chcp 437)”切換控制檯內碼表,轉換為

OEM-美國,則可顯示出擴充套件碼。Linux平臺上也是不支援擴充套件ASCII碼的,我嘗試了像“Visual Studio 2010”一樣切換內碼表,也無法解決,Google了下,有人建議使用Unicode等其他的編碼格式,但是貌似挺麻煩。