文字セット間でテキストファイルを変換する最も速くて簡単なツールまたは方法は何ですか?
具体的には、UTF-8からISO-8859-15に、またはその逆に変換する必要があります。
すべてがうまくいきます:お好きなスクリプト言語のワンライナー、コマンドラインツール、またはOSやWebサイトなどのその他のユーティリティ。
これまでのベストソリューション:
Linux / UNIX / OS X / cygwinの場合:
Troels Arvinによって提案されたGnu iconvは、フィルターとして最適に使用されます。それは普遍的に利用できるようです。例:
$ iconv -f UTF-8 -t ISO-8859-15 in.txt > out.txt
ベンが指摘したように、iconvを使用したオンラインコンバータがあります。
ヌーのrecodeの(手動による提案)Cheekysoft変換するインプレースで一つまたは複数のファイルを。例:
$ 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上のPowershell(ジェイBazuzi):
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
注:可能な列挙値は、「不明、文字列、ユニコード、バイト、BigEndianUnicode、UTF8、UTF7、ASCII」です。
- CsCvt- Kalyttaの文字セットコンバーターは、Windows用の優れたコマンドラインベースの変換ツールです。
recode
ファイル名を渡さない場合もフィルターとして機能することを追加する価値があると思っただけです。例:recode utf8..l9 < in.txt > out.txt
enca
、入力エンコーディングを指定する必要はありません。多くの場合、言語を指定するだけで十分ですenca -L ru -x utf8 FILE.TXT
。
iconv -f UTF-32 -t UTF-8 input.csv > output.csv
約70万行、3分の1しか節約できませんでした。インプレースバージョンを使用すると、iconv -f UTF-32 -t UTF-8 file.csv
200万以上の行がすべて正常に変換されました。
gc -en Ascii readme.html | Out-File -en UTF8 readme.html
が、ファイルをutf-8に変換しますが、それは空です!Notepad ++は、ファイルがAnsi形式であると言いますが、私が理解しているように、それは有効な文字セットでさえないと読みますか?uk.answers.yahoo.com/question/index?qid=20100927014115AAiRExF