#!/usr/bin/perl # utf-8のファイルを utf-16 little-endian BOM付きに変換する。 # iconvで -t utf-16le とやるとBOM無しのファイルができるので、 # 先頭に \xFF\xFEを追加しても良いが。 # cat utf8.txt | utf8-to-utf16leb.pl > utf16leb.txt use strict; use Encode; # 読み込む my $text = ''; while( defined(my $line = <>)){ $text .= $line; } # CRLFにしてしまえ! $text =~ s/\r\n/\n/g; $text =~ s/(\n|\r)/\r\n/g; # Little Endian UTF-16 に。 Encode::from_to($text,"utf-8","utf-16le"); # BOMを書き出す。 print "\xFF\xFE"; # 本文を書き出す。 print $text; # おしまい