¿Cuál es la herramienta o método más rápido y fácil para convertir archivos de texto entre conjuntos de caracteres?
Específicamente, necesito convertir de UTF-8 a ISO-8859-15 y viceversa.
Todo vale: frases en su lenguaje de programación favorito, herramientas de línea de comandos u otras utilidades para SO, sitios web, etc.
Las mejores soluciones hasta ahora:
En Linux / UNIX / OS X / cygwin:
El ícono de Gnu sugerido por Troels Arvin se usa mejor como filtro . Parece estar universalmente disponible. Ejemplo:
$ iconv -f UTF-8 -t ISO-8859-15 in.txt > out.txt
Como señaló Ben , hay un convertidor en línea que usa iconv .
Gnu recode ( manual ) sugerido por Cheekysoft convertirá uno o varios archivos en el lugar . Ejemplo:
$ recode UTF8..ISO-8859-15 in.txt
Este usa alias más cortos:
$ recode utf8..l9 in.txt
Recode también admite superficies que se pueden usar para convertir entre diferentes tipos de terminación de línea y codificaciones:
Convierta nuevas líneas de LF (Unix) a CR-LF (DOS):
$ recode ../CR-LF in.txt
Archivo de codificación Base64:
$ recode ../Base64 in.txt
También puedes combinarlos.
Convierta un archivo UTF8 codificado en Base64 con terminaciones de línea Unix a un archivo Latin 1 codificado en Base64 con terminaciones de línea Dos:
$ recode utf8/Base64..l1/CR-LF/Base64 file.txt
En Windows con Powershell ( Jay Bazuzi ):
PS C:\> gc -en utf8 in.txt | Out-File -en ascii out.txt
(Sin embargo, no es compatible con ISO-8859-15; dice que los charsets compatibles son unicode, utf7, utf8, utf32, ascii, bigendianunicode, default y oem).
Editar
¿Te refieres al soporte iso-8859-1? Usar "String" hace esto, por ejemplo, viceversa.
gc -en string in.txt | Out-File -en utf8 out.txt
Nota: Los posibles valores de enumeración son "Desconocido, Cadena, Unicode, Byte, BigEndianUnicode, UTF8, UTF7, Ascii".
- CsCvt - Kalytta's Character Set Converter es otra gran herramienta de conversión basada en línea de comandos para Windows.
fuente
gc -en Ascii readme.html | Out-File -en UTF8 readme.html
pero convierte el archivo a utf-8 pero luego está vacío. Notepad ++ dice que el archivo tiene formato Ansi, pero leerlo como lo entiendo, ¿eso ni siquiera es un juego de caracteres válido? uk.answers.yahoo.com/question/index?qid=20100927014115AAiRExFrecode
también actuará como filtro si no le pasa ningún nombre de archivo, por ejemplo:recode utf8..l9 < in.txt > out.txt
enca
, no necesita especificar la codificación de entrada. A menudo es suficiente con especificar el idioma:enca -L ru -x utf8 FILE.TXT
.iconv -f UTF-32 -t UTF-8 input.csv > output.csv
solo se guardó setecientas mil líneas, solo un tercio. El uso de la versión in situiconv -f UTF-32 -t UTF-8 file.csv
convirtió con éxito las más de 2 millones de líneas.