gpt4 book ai didi

utf-8 - 将 BOM 添加到 UTF-8 文件

转载 作者:行者123 更新时间:2023-12-05 00:47:07 26 4
gpt4 key购买 nike

我正在搜索(但没有成功)一个脚本,它可以作为批处理文件使用,如果没有 BOM,我可以在它前面添加一个带有 BOM 的 UTF-8 文本文件。

它所用的语言(perl、python、c、bash)和它运行的操作系统对我来说都不重要。我可以使用各种计算机。

我发现有很多脚本可以做相反的事情(去除 BOM),这在我看来有点傻,因为如果没有 BOM,许多 Windows 程序将无法读取 UTF-8 文本文件。

我错过了显而易见的事情吗?

谢谢!

最佳答案

我使用"file"命令和 ICU 编写了这个 addbom.sh 'uconv' 命令。

#!/bin/sh

if [ $# -eq 0 ]
then
echo usage $0 files ...
exit 1
fi

for file in "$@"
do
echo "# Processing: $file" 1>&2
if [ ! -f "$file" ]
then
echo Not a file: "$file" 1>&2
exit 1
fi
TYPE=`file - < "$file" | cut -d: -f2`
if echo "$TYPE" | grep -q '(with BOM)'
then
echo "# $file already has BOM, skipping." 1>&2
else
( mv "${file}" "${file}"~ && uconv -f utf-8 -t utf-8 --add-signature < "${file}~" > "${file}" ) || ( echo Error processing "$file" 1>&2 ; exit 1)
fi
done

编辑:mv 周围添加引号论据。感谢@DirkR,很高兴这个脚本很有帮助!

关于utf-8 - 将 BOM 添加到 UTF-8 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3127436/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com