如何将带有BOM的UTF8转换为UTF16 LE

时间:2013-05-07 04:25:36

标签: c linux unix unicode

如何将带有BOM的UTF8转换为UTF16LE?我已经使用过iconv -f UTF8 -t UTF16 TEST.xml> TEST2.xml。使用十六进制编辑器检查内容时,它会显示UTF8和UTF16(EF BB BF FF FE)。

1 个答案:

答案 0 :(得分:1)

我会写一个脚本。

#!/bin/sh
# Usage: convert FILE ENCODING
# Converts UTF-8 with BOM to target encoding
bom=`printf '\xef\xbb\xbf'`
if test "$bom" != `head -c 3 -- "$1"` ; then
    echo 1>&2 'error: no BOM found.'
    exit 1
fi
tail -c +3 <"$1" | iconv -f UTF-8 -t "$2"