Qual è lo strumento o il metodo più veloce e semplice per convertire i file di testo tra set di caratteri?
In particolare, devo convertire da UTF-8 a ISO-8859-15 e viceversa.
Tutto va bene: una riga nel tuo linguaggio di scripting preferito, strumenti da riga di comando o altre utilità per sistemi operativi, siti Web, ecc.
Le migliori soluzioni finora:
Su Linux / UNIX / OS X / cygwin:
Gnu iconv suggerito da Troels Arvin è meglio usato come filtro . Sembra essere universalmente disponibile. Esempio:
$ iconv -f UTF-8 -t ISO-8859-15 in.txt > out.txt
Come sottolineato da Ben , esiste un convertitore online che utilizza iconv .
La ricodifica Gnu ( manuale ) suggerita da Cheekysoft convertirà uno o più file sul posto . Esempio:
$ recode UTF8..ISO-8859-15 in.txt
Questo utilizza alias più brevi:
$ recode utf8..l9 in.txt
Recode supporta anche superfici che possono essere utilizzate per la conversione tra diversi tipi di fine linea e codifiche:
Convertire nuove righe da LF (Unix) a CR-LF (DOS):
$ recode ../CR-LF in.txt
File di codifica Base64:
$ recode ../Base64 in.txt
Puoi anche combinarli.
Convertire un file UTF8 codificato Base64 con terminazioni di linea Unix in un file latino 1 codificato Base64 con terminazioni di riga Dos:
$ recode utf8/Base64..l1/CR-LF/Base64 file.txt
Su Windows con Powershell ( Jay Bazuzi ):
PS C:\> gc -en utf8 in.txt | Out-File -en ascii out.txt
(Nessun supporto ISO-8859-15 però; afferma che i set di caratteri supportati sono unicode, utf7, utf8, utf32, ascii, bigendianunicode, default e oem.)
modificare
Intendi il supporto iso-8859-1? L'uso di "String" fa questo ad es. Per viceversa
gc -en string in.txt | Out-File -en utf8 out.txt
Nota: i possibili valori di enumerazione sono "Unknown, String, Unicode, Byte, BigEndianUnicode, UTF8, UTF7, Ascii".
- CsCvt - Character Converter Converter di Kalytta è un altro ottimo strumento di conversione basato su riga di comando per Windows.
recode
fungerà anche da filtro se non si passa alcun nome di file, ad esempio:recode utf8..l9 < in.txt > out.txt
enca
, non è necessario specificare la codifica di input. E 'abbastanza spesso solo per specificare la lingua: enca -L ru -x utf8 FILE.TXT
.
iconv -f UTF-32 -t UTF-8 input.csv > output.csv
solo circa settecentomila righe salvate, solo un terzo. Utilizzando la versione sul posto iconv -f UTF-32 -t UTF-8 file.csv
convertiti con successo tutti i 2 milioni di righe in più.
gc -en Ascii readme.html | Out-File -en UTF8 readme.html
ma converte il file in utf-8 ma poi è vuoto! Notepad ++ dice che il file è in formato Ansi ma leggendo come ho capito non è nemmeno un set di caratteri valido ?? uk.answers.yahoo.com/question/index?qid=20100927014115AAiRExF