首頁 > 軟體

linux shell檔案轉碼iconv命令的使用

2022-06-09 14:02:45

例子

從檔案中讀寫:

iconv -f UTF-8 -t ASCII//TRANSLIT -o out.txt in.txt
iconv -f sjis -t UTF-8 infile > outfile

搜尋了谷歌,發現瞭如下資訊:

iconv -f US-ASCII -t UTF-8 infile > outfile

ASCII是UTF-8的子集,所以所有的ASCII檔案都是UTF-8編碼的。ASCII檔案中的位元組和“將其編碼為UTF-8”所產生的位元組將是完全相同的位元組。它們之間沒有區別。

Tims-MacBook-Pro:~ tjohns$ echo 'Stuff' > deleteme
Tims-MacBook-Pro:~ tjohns$ cat deleteme
Stuff
Tims-MacBook-Pro:~ tjohns$ file -I deleteme
deleteme: text/plain; charset=us-ascii
Tims-MacBook-Pro:~ tjohns$ echo -ne 'xEFxBBxBF' > deleteme
Tims-MacBook-Pro:~ tjohns$ echo 'Stuff' >> deleteme
Tims-MacBook-Pro:~ tjohns$ cat deleteme
Stuff
Tims-MacBook-Pro:~ tjohns$ file -I deleteme
deleteme: text/plain; charset=utf-8

列印所有字元集編碼的列表:

iconv -l

目的

將字元的編碼從一個編碼頁編碼方案轉換為另一個編碼頁編碼方案。

語法

iconv [-cs] -f FromCode -t ToCode [ FileName… ]
iconv -l

描述

iconv命令將從標準輸入或指定檔案讀取的字元編碼從一個編碼字元集轉換為另一個編碼字元集,然後將結果寫入標準輸出。輸入和輸出編碼的字元集由FromCode和ToCode引數標識。輸入資料應該由FromCode引數指定的程式碼集中的字元組成。如果在命令列上沒有指定FileName引數,則iconv命令從標準輸入讀取。

該命令可通過SMIT SMIT iconv快速路徑執行。iconv命令使用LOCPATH環境變數來搜尋格式為iconv/FromCodeSet_ToCodeSet的程式碼集轉換器。“LOCPATH”的預設值為“/usr/lib/ nlls /loc”。

Flags

專案描述
-c從輸出中省略輸入檔案中不能轉換的字元。不能被轉換的字元包括在輸入的FromCode中無效的字元,或者在輸出的ToCode中沒有對應的字元。省略不可轉換字元后,iconv向前移動到輸入的下一個位元組以轉換下一個字元。如果-c未被使用,則iconv在遇到輸入中不能轉換的字元時退出。-c的存在或不存在並不影響iconv的退出狀態。
-f FromCode指定用於對輸入資料進行編碼的程式碼集。-f標誌和FromCode引數之間的空格是可選的。
-l將所有支援的FromCode和ToCode值寫入標準輸出。
-s禁止向標準錯誤寫入與無效字元有關的任何訊息。當不使用-s時,每個不可轉換或被截斷的字元都會被寫入標準錯誤。是否使用-s並不影響iconv的退出狀態。
-t ToCode指定要將輸出資料轉換為的程式碼集。-t標誌和ToCode引數之間的空格是可選的。
FileName指定要轉換的檔案。

退出狀態

該命令返回以下退出值:

專案描述
0成功轉換輸入資料。
1不支援指定的轉換;給定的輸入檔案不能被開啟讀取;或者存在用法語法錯誤。
2在輸入流中遇到一個不可用的字元。

 到此這篇關於linux shell檔案轉碼iconv命令的使用的文章就介紹到這了,更多相關shell iconv命令內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com