¿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.
recode
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 situ iconv -f UTF-32 -t UTF-8 file.csv
convirtió con éxito las más de 2 millones de líneas.
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=20100927014115AAiRExF