[問題] 關於 Emacs 的 UTF-16 問題
雖然問題是發生在 Cygwin 上,
但想說 Emacs 也算是 Linux 上常見軟體
所使用的 Emacs 是 23 版本的
假設我有一個有 abc 的檔案好了,確定是 UTF-16-LE 的格式
先複製成一個叫 def 的檔案(所以確定 abc 跟 def 的內容是一樣的)
然後用 Emacs 開啟 abc
再存檔(沒做什麼改變, Emacs 實際沒存,但可以新增一行再刪除)
之後,用 vim 開啟,就會成類似
^@ ^@s^@e^@l^@f^@.^@_^@L^@i^@s^@t^@v^@i^@e^@w^@ ^@=
^@ ^@s^@e^@l^@f^@.^@_^@C^@a^@m^@e^@r^@a^@3^@D^@ ^@=
^@ ^@s^@e^@l^@f^@.^@_^@C^@a^@m^@e^@r^@a^@2^@D^@ ^@=
^@ ^@s^@e^@l^@f^@.^@_^@M^@a^@s^@k^@ ^@=^@ ^@M^@a^@s
^@ ^@s^@e^@l^@f^@.^@_^@I^@s^@H^@e^@a^@d^@e^@r^@H^@i
原始內容為
self._Listview = Listview;
self._Camera3D = Camera3D;
self._Camera2D = Camera2D;
看得出來,是 UTF-16 沒有被解釋
(確定 fenc 有設對,因為 vim def 的結果是正常的)
但用 Emacs 去看,結果卻是正常的
此外,
hexdump -C abc > abc.xxx
hexdump -C def > def.xxx
則, abc.xxx, def.xxx 這兩個檔案是一模一樣的
但用 ls -l 去看 abc, def 的檔案大小,是有差的
有發現到,相差的位元組數,相當於檔案的行數
然後用 iconv -f utf-16le -t utf-8 abc
結果卻是亂碼
請問有人知道是什麼回事,該如何解決嗎?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.90.75
推
12/04 03:58, , 1F
12/04 03:58, 1F
→
12/04 09:31, , 2F
12/04 09:31, 2F
→
12/05 15:06, , 3F
12/05 15:06, 3F