重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【GOLF me!】初月無料お試し

取得して保存したテキストファイルの文字コードを変換する方法が知りたいです。

ファイルはUTF-8で保存されていて、shiftjisに直して保存するにはどうしたらよいでしょうか?

A 回答 (3件)

utf-8(Unicode)とShiftJISの間には、計算して求まるような関係はありませんので、


表引きするよりありません。
が、自分で表を作るようなことはバグの元でしかないので、

お使いのPerlのバージョンが 5.8.0 以上なら標準添付のEncodeモジュールを使用して

use strict;
use warnings;

use Encode qw/from_to/;

$^I = ".bak";

while (<>) {
from_to($_, 'utf-8', 'sjis');
print;
}

こんな感じのスクリプトで、utf-8 → ShiftJISへの変換ができます
(これはバックアップファイルを残して変換結果を上書きします)。

使い方は
perl convert.pl foo.txt bar.txt quux.txt ...
てな感じで。

5.6以前のPerlを使っているのなら、Jcode.pmやUnicode::Japaneseという
モジュールを入手して(jcode.plはダメです)、それを使って変換できます。
    • good
    • 0

jcodeなどの文字コード扱えるライブラリを使ってはどうですか?


どうしても自分でやりたいのであれば、それぞれの文字コードの仕様を調べて計算してコンバートするしかないです
    • good
    • 0

カテゴリ関係なしに回答してみます。



ファイルの拡張子をユニークなものに置き換えた後に、Internet Explorer で開いてファイルとして保存してください。
その際、保存形式でS-JISを選択することができます。

この回答への補足

すみません、言葉が足りなかったです。
Perlで、文字コードを変換するプログラムの書き方がわからず、の質問でした。
申し訳ないです。

補足日時:2007/01/25 21:48
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!