Re: [問題] VC2005 挪擖X為亂碼
※ 引述《meltice (三億兩千萬大散戶)》之銘言:
: 這樣寫完全沒錯
: 錯的應該是notepad
: 剛剛我照你的程式執行一遍
: 文字檔大小20byte
: 用notepad打開變成一堆方塊
: 可是用UltraEdit開卻正常
: 然後我直接在notepad照著打
: 0 1 2 ...
: 然後存檔
: 再打開
: 果然變成一堆方塊
: 接著我無聊再玩一下
: 只要最後不要打TAB或是打兩個TAB
: 存檔
: 就沒有這個問題
: 好神奇啊
: 怎麼會這樣???
: 不過如果存檔成unicode就沒有以上說的問題了
這是notepad誤判編碼....
0<Tab> 以16進位看是 0x30 0x09
如果看成Little endian的16-bit的話 它是0x0930
同理 1<Tab> 會看作 0x0931
而Unicode的U+0900~U+097F是Devanagari印度文
於是notepad看到如果解釋成Unicode 全篇都是印度文字 OK
就判斷它是少了BOM的Unicode編碼了
如果你在後面再加一個10<Tab> 因為它打亂了這個關係
notepad看到它認為的下一個字是U+3031 是個像ㄑ的符號
這已經不是印度文了 所以它判斷這個是ANSI編碼
就一切正常
多一個或少一個Tab也正常的原因也是因為打亂了關係
--
至於不會判斷成Unicode Big Endian的原因...
因為這樣看的話會出現U+3400以後的Extension A的字元集
顯然是不對的
--
話說我用的Notepad2也會誤判...
--
"LPH" is for "Let Program Heal us"....
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.91.5
※ 編輯: LPH66 來自: 140.112.91.5 (11/20 23:37)
※ 編輯: LPH66 來自: 140.112.91.5 (11/20 23:38)
推
11/21 00:30, , 1F
11/21 00:30, 1F
→
11/21 02:26, , 2F
11/21 02:26, 2F
推
11/21 14:51, , 3F
11/21 14:51, 3F
→
11/23 23:37, , 4F
11/23 23:37, 4F
→
11/23 23:38, , 5F
11/23 23:38, 5F
→
11/23 23:38, , 6F
11/23 23:38, 6F
→
11/23 23:39, , 7F
11/23 23:39, 7F
→
11/23 23:40, , 8F
11/23 23:40, 8F
→
11/23 23:43, , 9F
11/23 23:43, 9F
→
11/23 23:43, , 10F
11/23 23:43, 10F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 3 之 3 篇):
Programming 近期熱門文章
PTT數位生活區 即時熱門文章