linux shell 配置文件中默認的字符集編碼為UTF-8 。UTF-8是unicode的一種表達方式,gb2312是和unicode都是字符的編碼方式,所以說gb2312跟utf-8的概念應該不是一個層次上的。在LINUX上進行編碼轉換時,可以利用iconv命令實現,這是針對文件的,即將指定文件從一種編碼轉換為另一種編碼。
用法
iconv [選項...] [文件...]
選項
輸入/輸出格式規范:
-f --from-code=名稱 原始文本編碼
-t --to-code=名稱 輸出編碼
信息
-l --list 列舉所有已知的字符集
輸出控制
-c 從輸出中忽略無效的字符
-o, --output=FILE 輸出文件
-s, --silent 關閉警告
--verbose 打印進度信息
案例
輸入:text.txt 編碼:gbk
輸出:text.out 編碼:utf-8
iconv -f gbk -t utf-8 -c text.txt -o text.out
把text.txt中的文件<content></content>間的文本取出,並且把編碼從gbk轉化為utf-8保存(grep用法)
cat text.txt | iconv -f gbk -t utf-8 -c | grep "<content>" -o text.out