在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 或者...