用file來識別檔案的編碼方式

2021-08-25 09:24:51 字數 535 閱讀 7006

以前其實也有些類似的需求,就是需要判斷乙個檔案的編碼方式到底是什麼,知道file命令可以,但是遇到某些檔案,比如php它只會顯示這是乙個php檔案,並不會顯示它的編碼方式。今天又重新遇到這個問題,因此仔細看了一下file的手冊。原來file會先根據 /usr/share/file/magic裡的一些定義來判斷某個檔案型別,比如php檔案就有如下定義:

0 string/c =<?php php script text

0 string =<?/n php script text

0 string =<?/r php script text

0 string/b #!/ /usr/local/bin/php php script text executable

0 string/b #!/ /usr/bin/php php script text executable

0 string zend/x00 php script zend optimizer data

這樣的話,只要把這個檔案拷貝出來,然後把這些行注掉,用-m引數指定這個檔案就可以。

文字檔案編碼方式的簡單識別

在實際程式設計中經常會碰到需要讀取乙個文字檔案的內容並將其顯示到程式中的情況。如果檔案中所有的內容都以ascii方式編碼固然簡單 通常包含英文本母和數字的檔案,比如readme之類 但遇到包含其他語言字元,如中文和日文之類就必須在顯示之前知道其編碼方式。這是因為很多程式在顯示文字內容時只接受unic...

用py操作檔案(file類的功能)

用py操作檔案 1 找到檔案並開啟 f open filename 2 讀 修改 f.read 為空即讀所有 f.write 修改的內容 3 儲存 關閉 f.close 儲存並關閉 檔案開啟模式只能以一種形式開啟 r 即read w 即write,建立模式,如果檔案裡有內容用w的話會把原來的檔案清空...

如何判斷檔案的編碼方式

最近做東西需要知道檔案 txt,html.究竟是什麼編碼方式,不然讀取檔案內容可能出現亂碼 經過網上查詢發現兩種總結一下,方便自己也方便別人 通過判斷檔案頭,不過檔案頭不是必須的,所以有些檔案是沒有檔案頭的 ef bb bf utf 8 fe ff utf 16 ucs 2,little endia...