文字セット間でテキストファイルを変換する最適な方法は? 質問する

文字セット間でテキストファイルを変換する最適な方法は? 質問する

文字セット間でテキスト ファイルを変換する最も高速で簡単なツールまたは方法は何ですか?

具体的には、UTF-8 から ISO-8859-15 へ、またはその逆へ変換する必要があります。

お気に入りのスクリプト言語でのワンライナー、コマンドライン ツール、OS や Web サイト用のその他のユーティリティなど、何でも構いません。

これまでのベストソリューション:

Linux/UNIX/OS X/cygwinの場合:

  • ヌーアイコンによって提案されましたトロエルズ・アーヴィンフィルターとして使用するのが最適です。普遍的に利用できるようです。例:

      $ iconv -f UTF-8 -t ISO-8859-15 in.txt > out.txt
    

    指摘したようにベンiconv を使用したオンラインコンバーター

  • 再コード化マニュアル) によって提案されましたチーキーソフト1 つまたは複数のファイルをその場で変換します。例:

      $ recode UTF8..ISO-8859-15 in.txt
    

    これはより短いエイリアスを使用します:

      $ recode utf8..l9 in.txt
    

    Recode は、さまざまな行末タイプとエンコーディング間の変換に使用できるサーフェスもサポートしています。

    改行を LF (Unix) から CR-LF (DOS) に変換します。

      $ recode ../CR-LF in.txt
    

    Base64エンコードファイル:

      $ recode ../Base64 in.txt
    

    組み合わせることもできます。

    Unix 行末を持つ Base64 エンコードされた UTF8 ファイルを Dos 行末を持つ Base64 エンコードされた Latin 1 ファイルに変換します。

      $ recode utf8/Base64..l1/CR-LF/Base64 file.txt
    

Windowsの場合パワーシェルジェイ・バズジ):

  • PS C:\> gc -en utf8 in.txt | Out-File -en ascii out.txt

(ただし、ISO-8859-15 はサポートされていません。サポートされている文字セットは、unicode、utf7、utf8、utf32、ascii、bigendianunicode、default、および oem です。)

編集

iso-8859-1のサポートを意味しますか?「文字列」を使用すると、例えばその逆になります

gc -en string in.txt | Out-File -en utf8 out.txt

注: 可能な列挙値は、「Unknown、String、Unicode、Byte、BigEndianUnicode、UTF8、UTF7、Ascii」です。

ベストアンサー1

スタンドアロンユーティリティアプローチ

iconv -f ISO-8859-1 -t UTF-8 in.txt > out.txt
-f ENCODING  the encoding of the input
-t ENCODING  the encoding of the output

これらの引数はどちらも指定する必要はありません。デフォルトでは現在のロケール (通常は UTF-8) が使用されます。

おすすめ記事