檔案內容的編碼 - Linux

Lucy avatar
By Lucy
at 2011-11-11T01:01

Table of Contents

1.

file Sample5.java

./Sample5.java: ISO-8859-1 Java program text, with CRLF, NEL line
terminators

上面用file指令可以得到Sample5.java 檔案屬性,那我是想只要編碼訊息部分就好

還有個疑問是 file 指令找到編碼是指檔案名稱的編碼還是檔案內容編碼

因為我用 recode 工具轉碼 ISO-8859-1 轉 UTF-8 變成亂碼

但我用 BIG5 轉成 UTF-8 出來是OK, 所以我檔案內容編碼應該是BIG5 而ISO-8859-1是

檔案名稱編碼嗎?


2.

下面是我先用find 找出每個.java檔案路徑,

那我先判斷是每個檔案原本的編碼格式,之再做轉碼

那怎麼取得檔案屬性編碼字串進行比對選擇不同的處理

#!/bin/bash
find . -type f -iname '*.java' | while read path ; do

done

謝謝

--
※ 編輯: yshihyu 來自: 112.104.143.63 (11/11 02:07)
ckclark:編碼是有模糊地帶的 要看你要轉的有哪幾種再來決定 11/11 02:15
yshihyu:我就是判斷檔案內容編碼是big5 or GB2312 就轉成UTF-8 11/11 02:19
ckclark:如果vim的fencs有設定好的話(每個檔案打開都正常) 11/11 02:21
ckclark:可以試試這個http://tinyurl.com/4vnxvya 11/11 02:21
yshihyu:我現在不是在vim 顯示上問題~就是我編譯器判讀是utf-8 11/11 02:22
yshihyu:程式碼都要utf-8.. 11/11 02:23
ckclark:因為vim可以用set fenc來轉檔案編碼 11/11 02:24
yshihyu:恩恩~但是我有很多檔案~ 這邊我都用vim 轉換就麻煩 11/11 02:24
ckclark:結果直接enca -x utf8 ...就搞定了 11/11 03:17
bitlife:在沒有更多資訊的情況下,BIG5會被認為是ISO-8859-1 11/11 06:19
bitlife:這是正常的,瀏覽器因為有OS國別/語系資訊,知道使用者用 11/11 06:20
bitlife:中文環境,所以可以先判斷檔案是否符合Big5?不符才判定為 11/11 06:21
bitlife:ISO-8859-1 11/11 06:21
bitlife:以前在DOS系統下,沒跑倚天中文系統時,Big5檔案type出來 11/11 06:22
bitlife:就像亂碼,而這些亂碼完全符合ISO-8859-1 11/11 06:22
ckclark:看起來是byte值0~255都符合iso-8859-1 11/11 19:29

Tags: Linux

All Comments

William avatar
By William
at 2011-11-15T02:36
編碼是有模糊地帶的 要看你要轉的有哪幾種再來決定
Blanche avatar
By Blanche
at 2011-11-17T23:00
我就是判斷檔案內容編碼是big5 or GB2312 就轉成UTF-8
Blanche avatar
By Blanche
at 2011-11-18T03:40
如果vim的fencs有設定好的話(每個檔案打開都正常)
可以試試這個http://tinyurl.com/4vnxvya
Andy avatar
By Andy
at 2011-11-20T15:09
我現在不是在vim 顯示上問題~就是我編譯器判讀是utf-8
Anonymous avatar
By Anonymous
at 2011-11-21T15:48
程式碼都要utf-8..
David avatar
By David
at 2011-11-24T02:29
因為vim可以用set fenc來轉檔案編碼
Skylar DavisLinda avatar
By Skylar DavisLinda
at 2011-11-29T00:08
恩恩~但是我有很多檔案~ 這邊我都用vim 轉換就麻煩
Anonymous avatar
By Anonymous
at 2011-11-30T22:21
結果直接enca -x utf8 ...就搞定了
Blanche avatar
By Blanche
at 2011-12-04T09:28
在沒有更多資訊的情況下,BIG5會被認為是ISO-8859-1
Zanna avatar
By Zanna
at 2011-12-09T00:40
這是正常的,瀏覽器因為有OS國別/語系資訊,知道使用者用
Oscar avatar
By Oscar
at 2011-12-13T11:56
中文環境,所以可以先判斷檔案是否符合Big5?不符才判定為
ISO-8859-1
John avatar
By John
at 2011-12-13T15:41
以前在DOS系統下,沒跑倚天中文系統時,Big5檔案type出來
就像亂碼,而這些亂碼完全符合ISO-8859-1
Hedwig avatar
By Hedwig
at 2011-12-17T06:22
看起來是byte值0~255都符合iso-8859-1

IPv6-to-IPv4轉換器

Hedda avatar
By Hedda
at 2011-11-10T21:44
http://tinyurl.com/35j8y3 2-12我想要將內部的私有IPv4位址轉換成IPv6位址,有任何需要注意的事項嗎? 內容提到 安裝一個IPv6-to-IPv4轉換器 請問目前能實作的出來嗎? 該安裝什麼套件呢 請指教,謝謝 -- ╭ 這篇文章讓你覺得?════════ ...

燒錄CentOS 5.7失敗

Hazel avatar
By Hazel
at 2011-11-10T17:45
※ 引述《ntaurora (向日葵)》之銘言: : 由於必須要學會Linux : 但小妹我一直不知從何開始 : 最近就想跟著鳥哥的網站來做 : 但是下載好這樣的檔案後:CentOS-5.7-i386-netinstall : 我用nero燒錄映像檔的方式 : 昨天連燒兩片都不行 : 今天換了一片可以了 : ...

燒錄CentOS 5.7失敗

Rebecca avatar
By Rebecca
at 2011-11-10T16:19
由於必須要學會Linux 但小妹我一直不知從何開始 最近就想跟著鳥哥的網站來做 但是下載好這樣的檔案後:CentOS-5.7-i386-netinstall 我用nero燒錄映像檔的方式 昨天連燒兩片都不行 今天換了一片可以了 但要燒錄時都會出現一個視窗: and#34;輸入的block size 與映 ...

ubuntu one with windows

Una avatar
By Una
at 2011-11-10T15:21
最近發現ubuntu one 已經可以在windows上面使用了, 就在windows 7上面裝起來玩玩看, 剛裝上去的時候有成功把伺服器的資料同步到windows上面, 之後在目標資料夾中放入新的檔案後, 程式狀態會一直停留在同步中,但事實上看程式並沒有任何流量, 我想我應該有正常把程式該同步的資料夾設定好 ...

nvidia顯卡驅動掛掉

Noah avatar
By Noah
at 2011-11-10T13:46
各位板大好 請教一個簡單的問題 在更新完內核後,官方的顯卡驅動需要重新安裝 安裝時說我的 x-server 沒有關掉之類的 我想說用 sudo /etc/init.d/gdm stop 把它關掉(但是,再次進去安裝時還是說沒關) 所以我在網路上看到 sudo apt-get --purge remov ...