首頁>Club>
11
回覆列表
  • 1 # fluhr2988

    1、ASCII是用8位二進位制表示的,但最高位是0,一個字元一位元組。中文是用所謂機內碼(參閱一下區位碼、國標碼、機內碼的內容)表示的,一個漢字二位元組,關鍵是最高位都是1。日文、韓文則是為其分配了不同的編碼段。2、計算機用兩個位元組來表示一個漢字,“我”在記憶體裡就是這樣存放的:CE D2。CE是str[0]的內容,D2是str[1]的內容。第一次迴圈輸出str[0],但是這個字元在ASCII字符集裡代表這樣一個東西Î,但是Windows的命令提示符程式讀取到這裡就會自動使用寬字符集,也就是說,它已經準備好讀取下一個字元,然後把他們當成一個字元顯示出來。於是就出現了那個漢字。

  • 2 # lanfengz1

    wchar_t 就是 unsigned short

    用 wchar_t 方便很多,可以直接判斷正負,即最高位是否為1,當然,這只是粗略的判斷,要準確判斷,你可以查一下unicode字符集中漢字編碼範圍。

    用 char 的方法類似,先判斷是否小於0,如果不小於0,則是一個標準的ASCII字元,否則和後面的一個char組成一個漢字。

  • 中秋節和大豐收的關聯?
  • 之前談過大眾選酒,那麼酒友宜選怎樣的酒?