在日常使用 Linux 系统进行开发、运维或数据处理时,经常会遇到不同编码格式的文本文件。比如从 Windows 系统拷贝过来的文件可能是 GBK 编码,而 Linux 默认使用 UTF-8 编码。如果不对这些文件进行正确的编码转换,打开后可能会看到乱码。本文将手把手教你如何在 Linux Shell 中进行字符串和文件的编码转换,即使你是初学者也能轻松上手!

字符编码是计算机用来表示文字的方式。常见的编码包括:
当你在终端看到“锟斤拷”、“”等乱码时,通常就是编码不匹配造成的。
iconv 是 Linux 系统自带的强大命令行工具,专门用于转换文本文件的字符编码。
iconv -f 原编码 -t 目标编码 [输入文件] [-o 输出文件]-f:指定源文件的编码(from)-t:指定目标编码(to)-o:指定输出文件(可选)你可以运行以下命令查看当前系统支持的所有字符编码:
iconv -l输出会列出如 UTF-8、GBK、ISO-8859-1 等编码名称。
假设你有一个名为 chinese.txt 的文件,它是 GBK 编码的。你想把它转换成 UTF-8 编码并保存为 chinese_utf8.txt。
iconv -f GBK -t UTF-8 chinese.txt -o chinese_utf8.txt执行后,新文件 chinese_utf8.txt 就是 UTF-8 编码,可以在 Linux 终端正常显示中文。
有时你只想测试一个字符串的编码转换,可以结合 echo 和管道 | 来实现:
echo "你好世界" | iconv -f UTF-8 -t GBK | iconv -f GBK -t UTF-8上面的命令先将 UTF-8 字符串转为 GBK,再转回 UTF-8(用于测试流程)。实际使用中可根据需要调整编码。
可以使用 file 命令粗略判断:
file -i chinese.txt输出可能类似:chinese.txt: text/plain; charset=iso-8859-1。但注意,file 并不总是准确,特别是对中文编码。
如果遇到非法字符,iconv 默认会报错退出。你可以加上 //IGNORE 忽略非法字符:
iconv -f GBK -t UTF-8//IGNORE input.txt -o output.txt通过本文,你已经掌握了在 Linux Shell 中进行 字符串编码转换 的核心方法。无论是处理中文乱码,还是在不同系统间迁移文本数据,iconv 都是你不可或缺的利器。记住关键命令:iconv -f 原编码 -t 目标编码,多加练习就能熟练运用。
希望这篇 字符集转换教程 对你有所帮助!如果你经常处理多语言文本,建议将常用转换命令保存为脚本,提高工作效率。
关键词提示:本文涵盖 Linux字符串编码、Shell编码转换、iconv命令使用 和 字符集转换教程 等核心知识点。
本文由主机测评网于2025-11-30发表在主机测评网_免费VPS_免费云服务器_免费独立服务器,如有疑问,请联系我们。
本文链接:https://vpshk.cn/2025111340.html