在儲存成檔案前都是薛丁格的編碼
你開記事本輸入任意字串
然後儲存時在編碼選擇ANSI,這字串就是ANSI編碼;選擇UTF,這字串就是UTF編碼
只能從儲存檔案的編碼格式去看
找到一個列出檔案格式的範例提供給你參考
https://stackoverflow.com/a/34766140
在 Unix-like OS : Linux , OSX 都有 file 指令 可以檢查檔案屬性。可以參考以下 Linux 查詢、轉換 Big5、UTF8 檔案編碼教學與範例
網路工具嘛~~~沒有。
不過我以前有用個一個PHP程式碼做簡單的判斷。
那是為了混碼資料庫寫的。
基本是運用了
strlen()
mb_strlen()
這兩個來判斷。
基本上兩者長度相同。就有可能沒有中文字或無法判斷。
當然我還有多做英數符號判斷。如果有其它字碼就會列為「無法判別編碼」
那時我只針對BIG5跟UTF8做處理判斷。(因為資料欄位裏就混用這些編碼。搞死我了)
程式碼我現在找不到了,只是大約的原理跟你說。
倒也不困難就是了。
而且我這招在同一個字串混用多個編碼(基本上因不可能)
也是會掛。
偵測檔案使用的編碼是Utf-8或Big5方法參考
//偵測byte[]是否為BIG5編碼
public static bool IsBig5Encoding(byte[] bytes) {
Encoding big5 = Encoding.GetEncoding(950);
//將byte[]轉為string再轉回byte[]看位元數是否有變
return bytes.Length ==
big5.GetByteCount(big5.GetString(bytes));
}
//偵測檔案否為BIG5編碼
public static bool IsBig5Encoding(string file) {
if (!File.Exists(file)) return false;
return IsBig5Encoding(File.ReadAllBytes(file));
}
https://eric0806.blogspot.com/2014/07/detect-big5-or-utf8-encoding.html