看板 C_and_CPP 關於我們 聯絡資訊
小弟新手,有個疑問想請教各位大神 想請問中文字在陣列裡是佔幾個空間? char str1[4] = {"C++"}; //這只要配四個就好,因為有包括\0 char str2[9] = {"聖誕快樂"}; //但這要配9個,所以一個字佔兩個空間嗎? __________________ | C | + | + | \n | |___|___|___|____| cout << st1[1] ; //輸出C cout << str[2] ; //輸出+ 但str2就不能單獨輸出一個字,只能輸出整個字串? cout << str2[1]; //輸出t ? cout << str2[2]; //空白 cout << str2[3]; //空白 ..... cout << str2; //聖誕快樂 想請各位大神指教 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 101.15.48.128 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1450248137.A.ED2.html
stupid0319: 中文字佔兩個char呀,不過Unicode的英文也是兩個 12/16 14:48
stupid0319: Google找下big5規則跟Unicode 12/16 14:51
a27417332: 印象中Unicode是編碼,UTF是實作方法吧 12/16 15:09
a27417332: 印象中英文字2 byte應該也是看環境,吧(不確定 12/16 15:13
LPH66: 一個中文字幾個 byte 對初學者這是大哉問 12/16 15:23
LPH66: 這跟你的原始檔、編譯方式和執行環境都有關 12/16 15:23
LPH66: 如果是 2 byte 的狀況你就想成跟 BBS 一樣就對了 12/16 15:24
LPH66: 不是 2 byte 的再來問 12/16 15:24
overhead: 恩這是一個很複雜的議題 複雜到不適合新手 你可以google 12/16 22:53
overhead: unicode UTF-8 ANSI等等關鍵字去了解相關訊息 12/16 22:54