linux使用iconv在不同字元編碼中轉換

2021-04-19 07:24:17 字數 914 閱讀 8491

在linux系統下利用iconv命令進行gbk與utf-8字元編碼間的轉換

gbk編碼和utf-8編碼的區別:

1.gbk的文字編碼是雙位元組來表示的,即不論中、英文本元均使用雙位元組來表示,只不過為區分中文,將其兩個位元組的最高位都定成1。

utf-8編碼則是用以解決國際上字元的一種多位元組編碼,它對英文使用8位(即乙個位元組),中文使用24位(三個位元組)來編碼。英文本元較多的內容使用utf-8進行編碼可以節省空間。

2.gbk包含全部中文字元,utf-8則包含全世界所有國家需要用到的字元。

iconv命令用於轉換指定檔案的編碼,預設輸出到標準輸出裝置,亦可指定輸出檔案。

在轉換的時候是根據當前系統提供的字元編碼進行轉換,首先要保證系統具有需要轉換的編碼,這樣才能正確實現轉換的過程。

用法: iconv [選項...] [檔案...]

有如下選項可用:

輸入/輸出格式規範:

-f, --from-code=名稱 原始文字編碼

-t, --to-code=名稱 輸出編碼

列舉出當前系統所包含的字符集資訊:

-l, --list 列舉所有已知的字符集

輸出控制:

-c 從輸出中忽略無效的字元

-o, --output=file 輸出檔案

-s, --silent 關閉警告

--verbose 列印進度資訊

-?, --help 給出該系統求助列表

--usage 給出簡要的用法資訊

-v, --version 列印程式版本號

使用例子:

iconv -f gbk18030 -t utf-8  gbk_file > utf_file

這個命令讀取gbk_file檔案,對照系統中提供的字符集,將gbk18030編碼轉換為utf-8編碼,其輸出定向到utf_file檔案。

在Linux下使用iconv轉換字串編碼

在linux下寫c程式,尤其是網路通訊程式時經常遇到編碼轉換的問題,這裡要用到iconv函式庫。iconv函式庫有以下三個函式 include iconv t iconv open const char tocode,const char fromcode return iconv t 1 if f...

在Linux下使用iconv轉換字串編碼

在linux下寫c程式,尤其是網路通訊程式時經常遇到編碼轉換的問題,這裡要用到iconv函式庫。iconv函式庫有以下三個函式 123 456 include iconv t iconv open const char tocode,const char fromcode return iconv ...

Linux使用iconv進行編碼轉換

最近在做專案,為了能讓ui顯示中文,需要對中文進行編碼轉換。因為我用的是directfb,它只支援utf 8格式,所以要將gb2312轉換為utf 8,這時使用iconv是非常方便的。以下是我在專案中用到的一部分 首先要使用iconv的api需要包含它的標頭檔案 include iconv.h 或者...