Metin dosyalarını karakter setleri arasında dönüştürmek için en hızlı, en kolay araç veya yöntem nedir?
Özellikle, UTF-8'den ISO-8859-15'e ve tam tersine dönüştürmem gerekiyor.
Her şey geçerli: en sevdiğiniz kodlama dilinde bir satır, komut satırı araçları veya işletim sistemi, web siteleri vb. İçin diğer yardımcı programlar.
Şimdiye kadarki en iyi çözümler:
Linux / UNIX / OS X / cygwin'de:
Troels Arvin tarafından önerilen Gnu iconv en iyi filtre olarak kullanılır . Evrensel olarak erişilebilir gibi görünüyor. Misal:
$ iconv -f UTF-8 -t ISO-8859-15 in.txt > out.txt
Ben'in de işaret ettiği gibi , iconv kullanan bir çevrimiçi dönüştürücü var .
Cheekysoft tarafından önerilen GNU recode ( manuel ) , bir veya birkaç dosyayı yerinde dönüştürecektir . Misal:
$ recode UTF8..ISO-8859-15 in.txt
Bu, daha kısa takma adlar kullanır:
$ recode utf8..l9 in.txt
Recode ayrıca farklı satır sonu türleri ve kodlamalar arasında dönüştürme yapmak için kullanılabilecek yüzeyleri de destekler :
Yeni satırları LF'den (Unix) CR-LF'ye (DOS) dönüştürün:
$ recode ../CR-LF in.txt
Base64 kodlama dosyası:
$ recode ../Base64 in.txt
Bunları da birleştirebilirsiniz.
Unix satır sonlarına sahip Base64 kodlu UTF8 dosyasını Dos satır sonlarına sahip Base64 kodlu Latin 1 dosyasına dönüştürün:
$ recode utf8/Base64..l1/CR-LF/Base64 file.txt
Powershell ( Jay Bazuzi ) bulunan Windows'ta :
PS C:\> gc -en utf8 in.txt | Out-File -en ascii out.txt
(Yine de ISO-8859-15 desteği yok; desteklenen karakter kümelerinin unicode, utf7, utf8, utf32, ascii, bigendianunicode, varsayılan ve oem olduğunu söylüyor.)
Düzenle
Şunu mu demek istediniz: iso-8859-1 destek? "String" kullanmak bunu yapar, örn.
gc -en string in.txt | Out-File -en utf8 out.txt
Not: Olası numaralandırma değerleri "Bilinmeyen, Dize, Unicode, Bayt, BigEndianUnicode, UTF8, UTF7, Ascii" dir.
- CsCvt - Kalytta'nın Karakter Seti Dönüştürücü , Windows için başka bir harika komut satırı tabanlı dönüşüm aracıdır.
recode
bir dosya adı vermezseniz, aynı zamanda bir filtre olarak işlev görmeye değer olduğunu düşündüm , örneğin:recode utf8..l9 < in.txt > out.txt
enca
, giriş kodlamasını belirtmeniz gerekmez. Dili belirlemek için genellikle yeterlidir enca -L ru -x utf8 FILE.TXT
.
iconv -f UTF-32 -t UTF-8 input.csv > output.csv
yalnızca yaklaşık üç yüz satır kaydetti. Yerinde sürümü kullanarak iconv -f UTF-32 -t UTF-8 file.csv
başarıyla 2 milyon artı satır dönüştürdü.
gc -en Ascii readme.html | Out-File -en UTF8 readme.html
ama utf-8 dosyasına dönüştürür ama sonra boş! Notepad ++, dosyanın Ansi biçiminde olduğunu, ancak geçerli bir karakter kümesi olmadığını anladığım kadarıyla okuduğunu mu söylüyor? uk.answers.yahoo.com/question/index?qid=20100927014115AAiRExF