La codificación de caracteres de los archivos nuevos en la mayoría de sistemas es UTF-8
, ya que permite la representación de todos los glifos Unicode, y en el caso de los caracteres latinos utiliza un único byte
, o dos a lo sumo.
Sin embargo, no ocurre con poca frecuencia que encontremos archivos en una codificación con la que nuestros programas no pueden trabajar a priori.
Para resolver esto, existe el comando iconv
:
iconv --help
Modo de empleo: iconv [OPCIÓN...] [FICHERO...]
Convierte la codificación de los ficheros dados de una codificación a otra.
Especificación de formato de Entrada/Salida:
-f, --from-code=NOMBRE codificación del texto original
-t, --to-code=NOMBRE codificación para el resultado
Información:
-l, --list lista todos los juegos de caracteres conocidos
Control del resultado:
-c se omiten los caracteres inválidos en la salida
-o, --output=FICHERO fichero de salida
-s, --silent suprime los avisos
--verbose muestra información sobre el desarrollo
-?, --help Da esta lista de ayuda
--usage Da un mensaje corto de uso
-V, --version Muestra la versión del programa
Los argumentos obligatorios u opcionales para las opciones largas son
también obligatorios u opcionales para las opciones cortas correspondientes.
Para instrucciones sobre informes de fallo, por favor consulte:
<http://bugs.opensuse.org>.
Podemos crear un archivo UTF-8
, por ejemplo de la siguiente manera:
echo "El ñame redondo se usó para fabricar un lápiz" > utf8.txt
Para comprobar que está codificado como UTF-8
:
file utf8.txt
utf8.txt: Unicode text, UTF-8 text
Lo traducimos a UTF-16
usando iconv
:
iconv -t utf-16 -o utf16.txt utf8.txt file utf16.txt utf16.txt: Unicode text, UTF-16, little-endian text