

Active PerlをWindows上で利用しています。
(This is perl, v5.8.7 built for MSWin32-x86-multi-thread)
今回、毎回UTF-16という文字コードで生成されるテキストデータを
Perlスクリプトで処理させたいのですが、sjis等への文字変換を
スクリプト内で行うにはどうすれば良いでしょうか。
use Encode; では、"utf8"はありますが、"utf16"というのはありません。
Perlスクリプトに食わせる前に、(テキストエディタなどで手動で文字エンコードさせるのではなく)
バッチ処理的に文字列変換できる方法でも構わないのですが、
何か良い方法がありましたら、お教えください。よろしくお願いします。
No.1ベストアンサー
- 回答日時:
>今回、毎回UTF-16という文字コードで生成されるテキストデータを
きちんとBOMをつけて吐き出してもらわないと
どうにもならないので,BOMがついてるという前提で.
>use Encode; では、"utf8"はありますが、"utf16"というのはありません。
Encode::Unicode -- Various Unicode Transformation Formats
のマニュアルをご覧ください.
EncodeモジュールはPerlの全ソースコードの半分以上をを占める
巨大なものなので,UTF**系はもちろん
普通に使うものでUnicodeとの対応表があるものは
大抵ありそうです.
なお,nkfの新しいもの(v.2以降かな)ならUTF16LE,UTF16BEとかを
きちんと変換したくれたように記憶しています.
この回答への補足
返信が遅くなりました。
>>きちんとBOMをつけて吐き出してもらわないと
>>どうにもならないので,BOMがついてるという前提で.
もったいぶった書き方をしましたが、adduseres.exe とかいう
Windowsに添付のツールがありますが、これを /d:u オプション付きで
実行した結果、作成されるログ(テキスト)ファイルです。
>>Encode::Unicode -- Various Unicode Transformation Formats
>>のマニュアルをご覧ください.
マニュアルをネット検索して、読んでみました。
Encode::Unicodeのモジュールを別途追加(ppm)してやる必要があるということでしょうか。
(生半可知識で恐縮ですが)
>>なお,nkfの新しいもの(v.2以降かな)ならUTF16LE,UTF16BEとかを
>>きちんと変換したくれたように記憶しています.
結果的に他のツールですが、utf16→8へ変換してくれるフリーソフトが
ありましたので、それをワンクッション入れて、その後、Encodeで
UTF-8→Sjisへ変換するというベタな処理にして、現状はしのいでいます。
ノド元過ぎれば、これ以上手を打たないようになってしまいますが、
方法としては、ちょっとイマイチかなと感じております。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Perlのコードを隠蔽する
-
「デバイスは PRN を初期化でき...
-
Excel VBA 『Call』で呼び出す...
-
LCD ディスプレイを Raspberry ...
-
モジュールの最大数はいくつな...
-
【vba】フォームに書いてあ...
-
Pythonプログラミングでエラー
-
標準モジュールにpublicで宣言...
-
Perlの実行パスを自動で変更す...
-
クラスモジュールを使わないと...
-
VBAで旧字体を異字体に一括で変...
-
#!/usr/bin/perlで書きだしたCG...
-
マルチスレッドとマルチプロセ...
-
ExcelVBAモジュールのコピーと削除
-
Excel VBAで、ユーザーフォー...
-
オフコン(富士通Kシリーズ)...
-
perlでリテラル値はメモリにど...
-
systemの引数の中括弧
-
PCをWI-FI化(現在は有線)
-
Perlでのファイル処理について...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
全角空白での文字列分割について
-
文字列を複数行の先頭にいれた...
-
文字置き換えのエラーについて
-
formに「蘭」という文字を入れ...
-
漢字、カタカナ、ひらがな、英...
-
perl で 64ビットint を扱うには?
-
perl 漢字コードの書き方,エン...
-
Perlのコードを隠蔽する
-
(秀丸)正規表現で、CSV内金額へ...
-
Perlの文字コード
-
XPathでのワイルドカード指定
-
CGI.pm使用時の文字化けについて
-
ActivePerl UTF-16の変換
-
perlのgrepで日本語の処理でエ...
-
日本語のpunycode変換詳しい方...
-
HTMLのFORMで入力された文字を...
-
正規表現 \\s が、\\n に、ヒ...
-
例外処理のフローチャートの記...
-
「デバイスは PRN を初期化でき...
-
Excel VBAでリンク切れをチェッ...
おすすめ情報