在Linux如何讓更改檔案的字元編碼

2022-07-21 15:00:19 字數 1029 閱讀 5899

問題:在我的 linux 系統中有乙個編碼為 iso-8859-1 的字幕檔案,其中部分字元無法正常顯示,我想把文字改為 utf8 編碼。在 linux 中, 有沒有乙個好的工具來轉換文字檔案的字元編碼?

正如我們所知道的那樣,電腦只能夠處理低階的二進位制值,並不能直接處理字元。當乙個文字檔案被儲存時,檔案中的每乙個字元都被對映成二進位制值,實際儲存在硬碟中的正是這些「二進位制值」。之後當程式開啟文字檔案時,所有二進位制值都被讀入並對映回原始的可讀字元。只有當所有需要訪問這個檔案的程式都能夠「理解」它的編碼,即二進位制值到字元的對映時,這個「儲存和開啟」的過程才能很好地完成,這也確保了可理解資料的往返過程。

如果不同的程式使用不同的編碼來處理同乙個檔案,原始檔中的特殊字元就無法正常顯示。這裡的特殊字元指的是非英文本母的字元,例如帶重音的字元(比如 ñ,á,ü)。

為了確定檔案的字元編碼,我們使用乙個名為 「file」 的命令列工具。因為 file 命令是乙個標準的 unix 程式,所以我們可以在所有現代的 linux 發行版中找到它。

執行下面的命令:

$ file --mime-encoding filename
下一步是檢視你的 linux 系統所支援的檔案編碼種類。為此,我們使用名為 iconv 的工具及 「-l」 選項(l 的小寫)來列出所有當前支援的編碼。

$ iconv -l
iconv 工具是 gnu libc 庫組成部分,因此它在所有 linux 發行版中都是開箱即用的。

在我們在我們的 linux 系統所支援的編碼裡面選定了目標編碼之後,執行下面的命令來完成編碼轉換:

$ iconv -f old_encoding -t new_encoding filename
例如,把 iso-8859-1 編碼轉換為 utf-8 編碼:

linux如何更改檔案許可權及屬性

1.linux檢視檔案詳細資訊,ls l 2.更改檔案使用者組。使用命令chgrp,命令如下 注意,新使用者組名必須在 etc group檔案中存在,r屬性表示遞迴修改某個目錄下的所有子檔案的使用者組,常用於修改乙個目錄。如 再普通使用者下 sudo chgrp r my linux patch m...

linux 如何更改網絡卡的順序

在使用維護過程中,經常因為新增更換網絡卡導致網絡卡的順序產生不一至的現象。然而以前寫的shell指令碼都已經ok了,沒有必要再去改動。所以只能更改網絡卡順序了,我的centos6.3 更改位置在如下目錄 etc udev rules.d 70 persistent net.rules 內容如下 可以...

怎樣讓Git忽略當前已經更改的檔案

怎樣讓git忽略當前已經更改的檔案 2012 06 04 16 08 37 分類 嵌入式 對於untrack的檔案,我們可以建立.gitignore檔案。對於已經track的檔案,我們可以這樣做 git update index assume unchanged file name 完整路徑 這樣,...