[問題] ASCII 128~255 問號 + Dev C 亂碼

看板C_and_CPP作者 (泡泡)時間12年前 (2012/11/25 06:17), 編輯推噓0(003)
留言3則, 3人參與, 最新討論串1/4 (看更多)
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) Dec C++ 問題(Question): 之前發現有ASCII不正常顯示的問題,我就寫一個小程式去測: int main() { for(int i=0;i<256;i++) { printf("%d %c \n",i,i); } system("pause"); } 發現0~30幾對應的符號都有問題,128以上全部是問號,跟表定的ASCII不一樣(A) 最近剛重灌完清大校園授權板的Windows,可以正常顯示ASCII 0~255, 但裝 Dev c++ 語系選 Chinese(TW) 全是亂碼, 知道要設定 地區及語言>非Unicode程式語言>變更系統地區設定>選 中文(繁體,台灣) 但是這樣之後 ASCII 就不能正常顯示,回到(A)問題了, 我又改回 英文(美國),ASCII又正常,全部正常顯示。 推估是中文語系問題,請問有辦法解決嗎?(Dev中文不亂碼,ASCII正常) 抱歉,對語系問題不是很瞭解,如果我有敘述有誤等不專業錯誤,敬請包涵。 另外,我不確定這種問題可不可以在這裡問,如果不行我立刻刪文。 麻煩大家了,謝謝。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 1.169.159.77

11/25 14:53, , 1F
setlocale ?
11/25 14:53, 1F
E大您好,我會研究看看setlocale

11/25 14:59, , 2F
表定的ascii??? 你去看看ascii表上0~30/128~255是什麼吧Orz
11/25 14:59, 2F
K大您好,我是根據 http://goo.gl/wnXSs 的表,0~30主要為控制碼, 有些字元能顯示,有些不能, 正常顯示應該是:http://cl.ly/L6kM 而我切換成中文(繁體,台灣)會變成:http://cl.ly/L78q 這樣應該不太正常吧! 如果有認知錯誤,請指正,謝謝。 ※ 編輯: ip3311 來自: 1.169.159.77 (11/25 16:18) 不好意思,我大概知道皮毛了,各個語言的ASCII 128以上都不同, 但我要如何修改程式碼,才能正常顯示英文的ASCII呢? 而且當我設成中文時 128 以前的也不正確? setlocale有查到,但還不了解怎麼用,再研究... 目前發現有用的方法是 呼叫 system("chcp 437"); 可以直接改字碼頁。 437代表美國 950代表中文Big5 ※ 編輯: ip3311 來自: 1.169.159.77 (11/25 17:25)

11/27 23:46, , 3F
我從來不記得ASCII有超過128的編碼
11/27 23:46, 3F
文章代碼(AID): #1GiRWC2S (C_and_CPP)
文章代碼(AID): #1GiRWC2S (C_and_CPP)