iconv es una utilidad UNIX (y una biblioteca del mismo nombre ) para convertir texto de una codificación a otra. También portado a Windows.
La utilidad iconv convierte texto de una codificación a otra. La codificación de entrada se establece con la tecla -f y la codificación de salida con la tecla -t. Cualquiera de estas codificaciones tiene como valor predeterminado la configuración regional del sistema. Todos los archivos de entrada se leen a la vez, si no se especifica el parámetro del archivo de entrada, se usa la entrada estándar y el texto convertido se envía a la salida estándar .
Cuando se da la opción -c, los caracteres que no se pueden convertir simplemente se descartan. De lo contrario, cuando se produce un error de este tipo, el programa se bloquea .
Cuando se da la opción -s, no se imprimen mensajes de error.
El modificador -l muestra una lista de codificaciones disponibles.
El siguiente script encuentra todos los archivos en el directorio actual con la extensión *.java, los recodifica en UTF-8 y copia el resultado en el directorio res:
mkdir resolución find -max depth 1 -iname "*.java" -type f -exec bash -c "iconv -c -f WINDOWS-1251 -t UTF-8 {} > ./res/{}" \;Recodificación de todos los archivos en un directorio con su reemplazo:
para i en * ; haz iconv -f WINDOWS-1251 -t UTF-8 " $i " >tmp ; mv tmp " $i " ; hechoGrabación recursiva de todos los archivos del tipo requerido (en el ejemplo - txt):
encontrar. -nombre '*.txt' | mientras leo i ; haz iconv -f WINDOWS-1251 -t UTF-8 " $i " >tmp ; mv tmp " $i " ; hechoRecodificación recursiva de todos los archivos html:
# !/bin/sh encontrar . -tipo f -nombre '*.htm' -o -nombre '*.html' | mientras leo hago echo $i iconv -f WINDOWS-1251 -t UTF-8 " $i " > tmp mv -f tmp " $i " hechoEl siguiente conjunto de scripts encuentra todos los archivos en el directorio actual con la extensión *.txt, recodifica a CP1251 desde KOI8-R :
todo.cmd:
para /R %% i en ( . ) llame a txt.cmd %% itxt.cmd:
establezca cd2 = %cd% cd %1 para %% j en ( *.txt ) llame a % cd2 % \iconv2.cmd %% j cd %cd2%iconov2.cmd:
iconv -c -f KOI8-R -t CP1251 %1 > ganar. %1 del %1 renombrar ganar. %1 %1Otra forma (a través de cmd):
Antes de ejecutar este comando, debe agregar la ruta al programa iconv.exe a la variable de entorno Ruta:
para %% i en ( *.txt ) haga iconv -f cp1251 -t utf-8 " %% i" > utf8/ %% iEl comando recodificará todos los archivos con la extensión "txt" y colocará los archivos recodificados en una carpeta utf8 creada previamente.
Codificaciones de caracteres | |
---|---|
Codificaciones históricas | compensación adicional semáforo (Makarov) morse Bodo MTK-2 borrador 6 bits SCP RADIX-50 EBCDIC KOI-7 ISO 646 |
representación moderna de 8 bits | simbolos ASCII no ASCII páginas de códigos de 8 bits cirílico KOI-8 Codificación básica maccirílico ISO 8859 1 (lat.) 2 3 cuatro 5 (kir.) 6 7 ocho 9 diez once 12 13 catorce 15 (€) dieciséis ventanas 1250 1251 (Kir.) 1252 1253 1254 1255 1256 1257 1258 WGL4 IBM y DOS 437 850 852 855 866 "alternativa" MICRÓFONO |
Multibyte | tradicional DBCS GB2312 HTML unicode UTF-32 UTF-16 UTF-8 lista de personajes cirílico |
interfaz de usuario Diseño del teclado lugar traducción de línea fuente transcripción Fuentes personalizadas utilidades iconov registro |