You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

请求示例:通过iconv命令将带BOM的UTF-16BE编码转换为GBK

解决带BOM的UTF-16BE转GBK的iconv命令问题

你的问题出在指定UTF-16BE作为源编码时,iconv不会识别并跳过开头的BOM(FE FF),而是将其当作UTF-16BE编码的无效字符处理,因此报错。以下是两种可行的解决方案:

方案1:让iconv自动识别BOM(推荐)

直接使用UTF-16作为源编码,iconv会自动检测文件开头的BOM并判断字节序:

iconv -f UTF-16 -t GBK goodmorning.txt > goodmorning_gbk.txt

方案2:先移除BOM再转换

如果必须指定UTF-16BE,可以先通过工具去掉文件开头的2个BOM字节,再进行转换:

使用sed命令:

sed '1s/^\xfe\xff//' goodmorning.txt | iconv -f UTF-16BE -t GBK > goodmorning_gbk.txt

使用dd命令:

dd if=goodmorning.txt bs=1 skip=2 | iconv -f UTF-16BE -t GBK > goodmorning_gbk.txt

验证说明:你的文件十六进制是FE FF 65 E9 4E 0A 59 7D,其中FE FF是UTF-16BE的BOM,后续65E9(早)、4E0A(上)、597D(好)是正确的UTF-16BE编码。使用上述任一方案都能成功转换为GBK编码的“早上好”。

内容的提问来源于stack exchange,提问作者Anas

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 20:10:49