char類型是不是在程序中用處不大,不能處理中文和其他非ASCII碼,而且據說處理wchar_t的性能比char高,請教各位高手,是不是程序中一般都會選擇用wchar_t,而不用char呢?
這種做法的局限性是明顯的,首先,我們必須要考慮識別這是一個漢字還是兩個英文,特別是,一些>127的ASCII編碼被用一些特殊字符,而很不幸,我們沒法區分它是中文還是這些特殊字符。
所以你在一些漢化的DOS軟件上經常看到顯示出來的菜單或者圖示中夾雜著亂碼(不知道你用過UCDOS/TurboC或者QBasic沒有)
另外,即使這樣表示的字符也很有限,我們知道,漢字就有數十萬個,特別是古文,根本沒法表示。還有,不同的編碼不通用,台灣地區用Big5,大陸是GB,韓文、泰文、日文,每個語言都有自己的編碼。
所以那時很盛行轉碼軟件(不知道你聽說過四通利方RichWin,南極星沒有)
Unicode的好處就是,將所有的字符統一編碼,而且在操作系統和編程語言層面支持寬字符,簡化了編程,也不用考慮之前說的二義性的問題