たくさんのテキストファイル(UTF-8)があるのですが、これにBOMを付ける必要が出てきました。
1つ1つなら方法はいくらでもあるのですが、何かいっぺんに付けられる良い方法はないでしょうか?
http://tohoho.wakusei.ne.jp/wwwperl.htm
そのファイルは現在ありません
Perl や Ruby などのスクリプト言語でBOMを付加するフィルターを作成し、すべてのファイルをフィルターに食わせればいいと思います。
ABC.com
URLはダミーです。
OSがUNIXかLinuxであればBOMのファイルを作成しcatで連結してはどうでしょうか?
以下がbashで実行できるスクリプトのサンプルです。
/tmp/BOMファイルはあらかじめ作っておきます。
for f in ( * );
do
mv $f ${f}-
cat /tmp/BOM ${f}- > $f
rm -f ${f}-
done
申し訳ありません。WindowsXPです。
Windowsでもこの方法使えるのかな。
補足します。
当方WindowsXPで、
特定のフォルダの中のファイル全部(といっても拡張子は限定)にBOMを付けたい、ということです。
http://ew.hitachi-system.co.jp/w/BOM.html
BOM 【Byte Order Mark】 | 情報の表現用語辞典
UTF-8でもBOMとしてFEFFを入れればよいようですね。
まずはFEFFがバイナリで入ったファイルを作っておきます。(BOM.dat)
UNIX系OSならcshやtcshを使って
foreach i ( *.txt )
cat BOM.dat $i > $i.new
mv $i.new $i
end
などで出来るかと。
最初からWIndowsと書いておけばよかったですね(汗)申し訳ない…。
どうしたものか、、
おお、、すごい。。
世の中には凄い方がいらっしゃるものです…。
しかし、、変です。
試したところUTF-16になってしまい、激しい文字化けが、、
よく分からないのですが、エディターで作った物と比較したところ最初が違います。
EF BB がUTF-8
FF FE が今回のソフトで、UTF-16と認識されています。
それから、拡張子のことをちゃんと言わなかったのがいけないのですが、.txtだけなく、
.html .xhtml .log など色々あるので、(.txt と.htmlが一番多いのですが)…
なんだか贅沢を言っているようで…申し訳ありません。
>UTF-8でもBOMとしてFEFFを入れればよいようですね。
>試したところUTF-16になってしまい、激しい文字化けが、、
う、前の人の見て安心してしてしまいました(^-^;
>EF BB がUTF-8
あれ? EF BB BF ではないですか?
とりあえず改良してみました
とりあえず、3回目は回答できないので
以後はいわしにでも・・・
すばらしい! 完璧です。
ありがとうございました。本当に感謝です。
BOMや、UTF(7/8/16/32.. BE LE)などは複雑なようなので、、
私が書いたのは、秀丸で保存した場合です。
どんなものを作ればいいのか見当が付きません。
私のスキルでは、、