Apa alat atau metode tercepat, termudah untuk mengonversi file teks antara set karakter?
Secara khusus, saya perlu mengkonversi dari UTF-8 ke ISO-8859-15 dan sebaliknya.
Semuanya berjalan: satu-baris dalam bahasa skrip favorit Anda, alat baris perintah atau utilitas lain untuk OS, situs web, dll.
Solusi terbaik sejauh ini:
Di Linux / UNIX / OS X / cygwin:
Gnu iconv disarankan oleh Troels Arvin paling baik digunakan sebagai filter . Tampaknya tersedia secara universal. Contoh:
$ iconv -f UTF-8 -t ISO-8859-15 in.txt > out.txt
Seperti yang ditunjukkan oleh Ben , ada konverter online menggunakan ikonv .
Gnu recode ( pengguna ) disarankan oleh Cheekysoft akan mengkonversi satu atau beberapa file di tempat . Contoh:
$ recode UTF8..ISO-8859-15 in.txt
Yang ini menggunakan alias lebih pendek:
$ recode utf8..l9 in.txt
Recode juga mendukung permukaan yang dapat digunakan untuk mengkonversi antara berbagai jenis dan penyandian akhir baris:
Ubah baris baru dari LF (Unix) ke CR-LF (DOS):
$ recode ../CR-LF in.txt
File encode Base64:
$ recode ../Base64 in.txt
Anda juga bisa menggabungkannya.
Mengonversi file UTF8 yang disandikan Base64 dengan ujung garis Unix ke file Latin 1 yang disandikan Base64 dengan ujung garis Dos:
$ recode utf8/Base64..l1/CR-LF/Base64 file.txt
Di Windows dengan Powershell ( Jay Bazuzi ):
PS C:\> gc -en utf8 in.txt | Out-File -en ascii out.txt
(Tidak ada dukungan ISO-8859-15; ia mengatakan bahwa rangkaian karakter yang didukung adalah unicode, utf7, utf8, utf32, ascii, bigendianunicode, default, dan oem.)
Edit
Apakah maksud Anda dukungan iso-8859-1? Menggunakan "String" melakukan ini misalnya untuk sebaliknya
gc -en string in.txt | Out-File -en utf8 out.txt
Catatan: Nilai enumerasi yang dimungkinkan adalah "Tidak Dikenal, String, Unicode, Byte, BigEndianUnicode, UTF8, UTF7, Ascii".
- CsCvt - Character Set Converter Kalytta adalah alat konversi berbasis perintah yang bagus untuk Windows.
recode
akan bertindak sebagai filter juga jika Anda tidak memberikannya nama file, misalnya:recode utf8..l9 < in.txt > out.txt
enca
, Anda tidak perlu menentukan pengkodean input. Hal ini sering cukup hanya untuk menentukan bahasa: enca -L ru -x utf8 FILE.TXT
.
iconv -f UTF-32 -t UTF-8 input.csv > output.csv
hanya sekitar tujuh ratus ribu baris yang disimpan, hanya sepertiga. Menggunakan versi in-place yang iconv -f UTF-32 -t UTF-8 file.csv
berhasil dikonversi semua 2 juta baris plus.
gc -en Ascii readme.html | Out-File -en UTF8 readme.html
tetapi mengkonversi file ke utf-8 tetapi kemudian kosong! Notepad ++ mengatakan file tersebut berformat Ansi tetapi membaca seperti yang saya mengerti itu bahkan bukan charset yang valid ?? uk.answers.yahoo.com/question/index?qid=20100927014115AAiRExF