A menudo escucho a la gente decir "codificación".
codificación
Definición de codificación
La codificación es el proceso de convertir información analógica en un flujo de bits de acuerdo con un determinado protocolo o formato.
En hardware informático, la codificación es el proceso de convertir información sobre un tema o unidad en valores codificados (normalmente números) con fines de almacenamiento, gestión y análisis de datos. En software, codificar significa ejecutar lógicamente un programa utilizando un lenguaje específico como C o C++. En criptografía, codificación se refiere al acto de escribir en un código o cifra.
Convierte datos en códigos o caracteres codificados y tradúcelos al formato de datos original. Es el proceso de escribir instrucciones para una computadora y es parte de la programación. En la cartografía de mapas automática, el proceso de utilizar números y letras para representar el contenido del mapa de acuerdo con ciertas reglas permite a las computadoras identificar varios elementos geográficos del mapa mediante codificación.
Los números binarios de n bits se pueden combinar en 2n piezas de información diferentes y se especifica un grupo de códigos específico para cada pieza de información. Este proceso también se denomina codificación.
Existen dos tipos de códigos comúnmente utilizados en los sistemas digitales, uno es la codificación binaria y el otro es la codificación binario-decimal.
Sistema de codificación de caracteres chinos
1. ASCII y Binario
Los archivos con los que entramos en contacto a diario se dividen en dos tipos: ASCII y Binario. ASCII es la abreviatura en inglés de "American Standard Encoding for Information Interchange", que puede denominarse "American Standard". El estándar americano estipula una codificación estandarizada que utiliza 128 números del 0 al 127 para representar información, incluidos 33 códigos de control, un código de espacio y 94 códigos de imagen. El código de imagen incluye letras mayúsculas y minúsculas en inglés, números arábigos, signos de puntuación, etc. Los textos informáticos en inglés que leemos habitualmente se transmiten y almacenan en forma de códigos de imagen. American Standard es la codificación universal para la mayoría de las computadoras de todos los tamaños en el mundo.
Sin embargo, un carácter en una computadora está representado mayoritariamente por un número binario de ocho dígitos. De esta forma, cada carácter podrá tener 256 valores diferentes. Dado que el estándar americano solo estipula 128 códigos, los 128 números restantes no están estandarizados y cada familia tiene un uso diferente. Además, el uso de los 33 códigos de control de la norma estadounidense no es uniforme entre los fabricantes. De este modo, cuando intercambiamos archivos entre diferentes ordenadores, es necesario distinguir dos tipos diferentes de archivos. Cada palabra en el primer tipo de documento es un código de imagen estándar americano o un código de espacio. Estos archivos se denominan "archivos de texto ASCII" o simplemente "archivos de texto" y normalmente pueden intercambiarse directamente entre diferentes sistemas informáticos. La segunda categoría de archivos, es decir, los archivos que contienen códigos de control o códigos estándar no americanos, normalmente no pueden intercambiarse directamente entre diferentes sistemas informáticos. Este tipo de archivo tiene un nombre común llamado "Archivos binarios".
2. Estándar nacional, ubicación, "estándar cuasi nacional"
"Estándar nacional" es la abreviatura de "codificación de caracteres chinos para el intercambio de información estándar nacional de la República Popular China". La tabla estándar nacional (tabla básica) organiza más de 7.000 caracteres chinos, así como signos de puntuación, letras extranjeras, etc., en una matriz cuadrada con 94 filas y 94 columnas. Cada fila horizontal en la matriz cuadrada se llama "zona" y cada zona tiene noventa y cuatro "bits". Las coordenadas de un carácter chino en la matriz cuadrada se denominan "código de ubicación" del carácter. Por ejemplo, la palabra "中" está ubicada en la posición 48 del área 54 en la matriz cuadrada y su código de área es 5448.
En realidad, el número 94. Es el número total de códigos de imagen en el estándar americano. La tabla estándar nacional sigue este número y la intención original probablemente sea utilizar dos símbolos estándar estadounidenses para representar un carácter chino. Dado que la codificación del símbolo de imagen estándar americano es de 33 a 126, si se agrega 32 al área de caracteres chinos y al código de bits de cada uno, se superpondrá con el rango del código de imagen estándar americano. Como en el ejemplo anterior, después de sumar 32 al área de caracteres "中" y al código de bits, obtenemos 86,80. Los números hexadecimales de estos dos números se juntan para obtener 5650, que se denomina "código estándar nacional" del carácter, y los dos símbolos estándar americanos correspondientes, VP, son los "símbolos estándar nacionales" del carácter "中". .
Esto plantea la cuestión de cómo distinguir los símbolos estándar nacionales de los símbolos estándar estadounidenses. En un documento que mezcla chino e inglés, ¿"VP" representa la palabra "中文" o representa alguna abreviatura en inglés? Cuando el Sexto Instituto de Investigación del Ministerio de Industria Electrónica desarrolló CCDOS, utilizó una solución simple: agregar 128 a cada uno de los dos dígitos del código estándar nacional, subiendo a la posición del código estándar no estadounidense. (El código de norma nacional modificado todavía se denomina habitualmente "norma nacional".
)
Aunque esta solución resuelve el problema original, surgen nuevos problemas. Los archivos chinos se han convertido en "archivos binarios" que no pueden intercambiarse de manera confiable entre diferentes sistemas informáticos y no son compatibles con la mayoría del software del mercado diseñado con símbolos estándar americanos.
Para distinguir los dos "estándares nacionales" anteriores, llamamos al código estándar nacional original que se superpone con el código de imagen estándar estadounidense "estándar nacional puro", y el código estándar nacional con CCDOS plus 128 es llamado "norma cuasi nacional".
3. Código GBK:
El código GBK es una codificación de caracteres extendida del código GB. Codifica más de 20.000 caracteres chinos simplificados y tradicionales. Ambas versiones simplificadas de Win95 y Win98 utilizan GBK como código interno del sistema.
Desde la perspectiva de la aplicación práctica, Microsoft ha utilizado el código GBK en el sistema desde la versión china simplificada de win95. Incluye dos bibliotecas de fuentes GBK, la fuente TrueType Song y la fuente Hei (proporcionadas por Beijing Zhongyi Electronics Co. ., Ltd.), que se puede utilizar para visualización e impresión, y proporciona cuatro métodos de entrada para caracteres chinos GBK. Además, las versiones en chino tradicional y simplificado del navegador IE4.0 proporcionan una función de conversión bidireccional de código GBK-BIG5. Además, en el paquete de idioma proporcionado por Microsoft para IE, las dos bibliotecas de fuentes del kit de soporte del idioma chino simplificado (Kit de soporte del idioma chino simplificado), Songti y Heidi, también son caracteres chinos GBK (proporcionados por Zhuhai Sitong Computer Typesetting System Development Company ). Algunos otros fabricantes de fuentes chinos también han comenzado a ofrecer fuentes TrueType o PostScript GBK.
Muchas plataformas chinas de complementos, como Nanjixing, Richwin, etc., brindan soporte para códigos GBK, incluidas bibliotecas de fuentes, métodos de entrada y convertidores entre GBK y otros códigos chinos.
En Internet, muchas páginas web utilizan código GBK.
Sin embargo, la mayoría de los motores de búsqueda no pueden admitir muy bien la búsqueda de caracteres chinos GBK y algunos motores de búsqueda en China continental no pueden admitir completamente la búsqueda de caracteres chinos GBK.
De hecho, GBK es otro estándar de codificación de caracteres chinos, su nombre completo es "Especificación de código internacional chino", que se promulgó en 1995. GB es el estándar nacional y K es la primera letra del Pinyin chino de caracteres chinos "extendidos".
GBK es compatible hacia abajo con la codificación GB-2312 y admite hacia arriba el estándar internacional ISO 10646.1. Es un estándar heredado para la transición del primero al segundo.
La especificación GBK contiene todos los caracteres y símbolos chinos CJK en ISO 10646.1 y ha sido complementada. Incluyendo específicamente: todos los caracteres chinos y símbolos de caracteres no chinos en GB 2312; otros caracteres chinos CJK en GB 13000.1. Lo anterior suma un total de 20.902 GB de caracteres chinos; 52 caracteres chinos en la "Lista general simplificada" que no están incluidos en GB 13000.1; 28 radicales y componentes importantes en el "Diccionario Kangxi" y "Cihai" que no están incluidos en GB 13000.1; símbolos de estructuras de caracteres en BIG-5 que no están incluidos en GB 2312 pero existen en GB 13000.1; 6 símbolos pinyin agregados por GB 12345; Hay 29 signos de puntuación, 10 de los cuales no están incluidos en GB 13000.1, por lo que GBK no los incluye; 21 caracteres chinos seleccionados del área de compatibilidad CJK de GB 13000.1; 31 símbolos especiales de IBM OS/2 incluidos en GB 13000.1; . GBK también utiliza representación de doble byte. El rango de codificación general está entre 0x8140 ~ 0xFEFE, el primer byte está entre 0x81 ~ 0xFE y el último byte está entre 0x40 ~ 0xFE. Excluyendo la línea 0x××7F, un total de 23940 códigos. , el número total de caracteres chinos y símbolos gráficos es 21.886, incluidos 21.003 caracteres chinos (incluidos radicales y componentes) y 883 símbolos gráficos.
4. Código BIG5:
El código BIG5 es una codificación de caracteres chinos para caracteres chinos tradicionales. Actualmente se utiliza ampliamente en sistemas informáticos en Taiwán y Hong Kong. El rango de codificación del código BIG5 es el siguiente.
5. Código HZ:
El código HZ es una codificación de caracteres chinos muy utilizada en Internet. La característica del esquema "HZ" es que utiliza una mezcla de códigos estándar chinos y estadounidenses de "estándar nacional puro". Entonces, ¿cómo distingue "HZ" entre el símbolo nacional y el símbolo estadounidense? En realidad, la respuesta es muy simple: cuando se inserta una cadena de códigos estándar estadounidenses en medio de un código estándar nacional, agregamos ~ delante del código estándar nacional y ~ después de él. Estos códigos adicionales se denominan "códigos de escape" y "códigos de escape" respectivamente. Dado que estos códigos adicionales también son códigos de imagen estándar americano, el archivo completo es como un archivo de texto estándar americano, que se puede transmitir de forma segura a través de la red informática y también es compatible con la mayoría de los programas de procesamiento de texto en inglés.
6. Código ISO-2022CJK:
ISO-2022 es un estándar de codificación desarrollado por la Organización Internacional de Normalización (ISO) para varios caracteres de idiomas. Se utiliza codificación de dos bytes, de la cual la codificación china se denomina ISO-2022 CN y las codificaciones japonesa y coreana se denominan JP y KR respectivamente. Generalmente, los tres se denominan colectivamente código CJK. Actualmente, los códigos CJK se utilizan principalmente en redes de Internet.
7. UCS e ISO 10646:
En 1993, el estándar internacional ISO10646 definió el Conjunto de Caracteres Universal (UCS). UCS es un superconjunto de todos los demás estándares de conjuntos de caracteres. Se garantiza que será bidireccionalmente compatible con otros conjuntos de caracteres. Es decir, si traduce cualquier cadena de texto al formato UCS y luego vuelve a la codificación original, no perderá ninguna información.
UCS contiene caracteres utilizados para expresar todos los idiomas conocidos. Incluye no solo descripciones en latín, griego, cirílico, hebreo, árabe, armenio y georgiano, sino también jeroglíficos como chino, japonés y coreano, así como hiragana, katakana, bengalí, punjabi gurmukhi (gurmukhi), tamil, kannada (kannada) , malayalam, tailandés, laosiano, pinyin chino (bopomofo), hangul, devangari, gujarati, oriya, telugu y otros idiomas. Para los idiomas que aún no se han agregado, eventualmente se agregarán a medida que se trabaje sobre la mejor manera de codificarlos en las computadoras. Estos incluyen el tibetano, el jemer, el rúnico, el etíope, otros jeroglíficos y varias lenguas indoeuropeas, así como lenguajes artísticos seleccionados como el tengwar, el cirth y el crean. UCS también incluye una gran colección de símbolos gráficos, tipográficos, matemáticos y científicos, incluidos todos los proporcionados por fuentes TeX, Postscript, MS-DOS, MS-Windows, Macintosh, OCR y muchos otros sistemas de publicación y procesamiento de textos.
ISO 10646 define un juego de caracteres de 31 bits. Sin embargo, en este enorme espacio de codificación, hasta ahora solo se han asignado los primeros 65534 bits de código (0x0000 a 0xFFFD). Este subconjunto de UCS de 16 bits se denomina plano multilingüe básico (BMP). Los caracteres que se codificarán fuera del BMP de 16 bits son caracteres muy especiales (como los jeroglíficos) y sólo los utilizarán expertos en los campos de la historia y la ciencia. Según los planes actuales, no se pueden asignar caracteres fuera del espacio de codificación de 21 bits de 0x000000 a 0x10FFFF, que cubre más de 1 millón de caracteres potenciales futuros. La norma ISO 10646-1 se publicó por primera vez en 1993 y define el juego de caracteres y la estructura del contenido en BMP. La segunda parte, ISO 10646-2, que define codificaciones de caracteres distintas de BMP, está en preparación, pero es posible que no se complete hasta dentro de varios años. Todavía se están agregando nuevos personajes a BMP, pero los personajes existentes son estables y no cambiarán.
UCS no sólo asigna un código a cada carácter, sino que también le otorga un nombre formal. Un número hexadecimal que representa un valor UCS o Unicode, generalmente precedido por "U+", como en U+0041, que representa el carácter "letra latina mayúscula A". Los caracteres UCS U+0000 a U+007F son consistentes con US-ASCII (ISO 646), y U+0000 a U+00FF también son consistentes con ISO 8859-1 (Latin-1). Desde U+E000 hasta U+F8FF, una amplia gama de codificaciones distintas de BMP están reservadas para uso privado.
En 1993, USC-4 (Conjunto de caracteres universales) definido en ISO10646 usaba un ancho de 4 bytes para acomodar suficiente espacio, pero este estándar de caracteres demasiado grueso en ese momento, incluso ahora, tiene su lado poco realista. , que es que ocupará excesivamente espacio de almacenamiento y afectará la eficiencia de la transmisión de información. Al mismo tiempo, la organización Unicode también comenzó a desarrollar un estándar de caracteres de 16 bits hace unos 10 años con Universal, Unique y Uniform como temas principales. Para evitar la competencia entre las dos codificaciones de 16 bits, las dos organizaciones comenzaron. negociaciones en 1992 para encontrar un compromiso* **El mismo punto, este es el UCS-2 (BMP, plano multilingüe básico, 16 bits) actual y Unicode, pero siguen siendo soluciones diferentes.
8. Código Unicode:
Acerca de Unicode, debemos rastrear su origen.
Cuando las computadoras se extendieron al este de Asia, se encontraron con países como China, Japón y Corea que utilizaban caracteres ideográficos en lugar de idiomas alfabéticos. Hay miles de caracteres de uso común en los idiomas utilizados en estos países. Sin embargo, los caracteres originales usaban codificación de un solo byte. El número máximo de caracteres que se pueden acomodar en una página de códigos es solo 28 = 256. Esto es impotente. para lenguas que utilizan caracteres ideográficos. Dado que un byte no es suficiente, la gente naturalmente usa dos bytes, por lo que aparece el juego de caracteres codificados de doble byte (DBCS). Sin embargo, aunque los caracteres ideográficos en el juego de caracteres de doble byte utilizan dos bytes para codificar, los códigos ASCII y los katakana japoneses todavía están representados por bytes únicos, lo que genera muchos problemas a los programadores, porque cada uno de ellos diseña el procesamiento de cadenas DBCS. , siempre es necesario determinar si un byte representa un carácter o medio carácter. Si es medio carácter, ¿es la primera mitad o la segunda mitad? Se puede ver que DBCS no es una muy buena solución.
La gente busca constantemente mejores soluciones de codificación de caracteres y el resultado final es el nacimiento de Unicode. Unicode es en realidad un conjunto de caracteres de bytes anchos. Utiliza dos bytes o 16 bits para representar cada carácter, por lo que al procesar caracteres, no tiene que preocuparse por procesar solo medio carácter.
Actualmente, Unicode se utiliza en redes, sistemas Windows y muchos software de gran escala.
Algo de sentido común sobre la codificación GB
Entre los estándares de codificación GB, los dos más utilizados son GB2312 y GBK es un subconjunto de GBK, y el rango de codificación GB2312 es. 0xA1A1 - 0xFEFE, si se trata de codificación GB2312 pura, es muy sencillo de procesar, pero hay algunos pequeños consejos cuando se trata del conjunto de caracteres GBK. Hablemos primero del estándar de codificación GBK:
GBK. utiliza representación de doble byte, en general El rango de codificación es 8140-FEFE, el primer byte está entre 81-FE, el último byte está entre 40-FE y se elimina una línea de xx7F. Hay un total de 23.940 puntos de código y se recopilan 21.886 caracteres chinos y símbolos gráficos, incluidos 21.003 caracteres chinos (incluidos radicales y componentes) y 883 símbolos gráficos.
Toda la codificación se divide en tres partes:
1. Área de caracteres chinos. Incluyendo:
a. GB 2312 área de caracteres chinos. Ese es GBK/2: B0A1-F7FE.
Contiene 6763 GB 2312 caracteres chinos, ordenados en el orden original.
b. GB 13000.1 amplía el área de caracteres chinos. Incluye:
(1) GBK/3: 8140-A0FE. Contiene 6080 caracteres chinos CJK en GB 13000.1.
(2) GBK/4: AA40-FEA0. Contiene 8160 caracteres chinos CJK y caracteres chinos suplementados.
Los caracteres chinos CJK aparecen primero, ordenados según el tamaño del código UCS; le siguen los caracteres chinos suplementarios (incluidos radicales y componentes), ordenados según los números de página/posiciones de los caracteres en el "Diccionario Kangxi".
2. Área de símbolos gráficos. Incluyendo:
a. GB 2312 área de símbolos de caracteres no chinos. Es decir GBK/1: A1A1-A9FE. Además de los símbolos de GB 2312, hay 10 números romanos en minúscula y símbolos complementados por GB 12345.
Hay 717 símbolos en total.
b. GB 13000.1 amplía el área de caracteres no chinos. Es GBK/5: A840-A9A0. BIG-5 Los símbolos de caracteres no chinos, los símbolos estructurales y "○" están organizados en esta área. Hay 166 símbolos en total.
3. Área definida por el usuario: dividida en tres áreas (1) (2) (3).
(1) AAA1-AFFE, 564 puntos de código.
(2) F8A1-FEFE, 658 puntos de código.
(3) A140-A7A0, 672 puntos de código.
Aunque el área (3) está abierta a los usuarios, su uso está restringido porque no se puede descartar la posibilidad de añadir nuevos personajes a esta área en el futuro.
Aquí hay algunos consejos:
1. En PHP, la codificación de caracteres se basa en la codificación enviada, por lo que se utiliza la codificación ingresada por el usuario, no cambiará automáticamente. , pero en asp, la codificación predeterminada es unicode, por lo que podemos obtener fácilmente la tabla de comparación de codificación de gbk->unicode, de modo que podemos implementar fácilmente gbk a utf incluso sin que se haya convertido ninguna biblioteca básica. >
2. Dado que GBK tiene un bit alto y el valor más bajo es 0x40, que es 64, por lo tanto, a veces cuando se organizan algunas cadenas que involucran chino, es mejor usar ascii antes de 64 para separar el código de caracteres, de modo que no se confunda. Los caracteres aparecerán al reemplazar o dividir bajo cualquier circunstancia. Los caracteres más utilizados son ",", ";", ":", " ", " " y " ". Estos caracteres nunca se codificarán con gb. el caos.
La conversión de codificación de conjuntos de caracteres es fácil de implementar
1 Utilice la familia de funciones iconv para la conversión de codificación
Al realizar la conversión de codificación en LINUX, puede utilizar el Familia de funciones iconv La programación también se puede implementar usando el comando iconv, pero este último es para archivos, es decir, convertir el archivo especificado de una codificación a otra codificación.
El archivo de encabezado de la familia de funciones iconv es iconv.h, que debe incluirse antes de su uso.
#include
La familia de funciones iconv tiene tres funciones, los prototipos son los siguientes:
(1) iconv_t iconv_open(const char *tocode, const char *fromcode);
Esta función explica qué dos codificaciones se convertirán. tocode es la codificación de destino y fromcode es la codificación original. Esta función devuelve un identificador de conversión para que lo utilicen los dos siguientes. funciones.
(2) size_t iconv(iconv_t cd, char **inbuf, size_t *inbytesleft, char **outbuf, size_t *outbytesleft);
Esta función lee caracteres de inbuf, salida; Para realizar outbuf después de la conversión, inbytesleft se usa para registrar la cantidad de caracteres que no se han convertido y outbytesleft se usa para registrar el espacio restante del búfer de salida. (3) int iconv_close(iconv_t cd);
Esta función se utiliza para cerrar el controlador de conversión y liberar recursos.
Ejemplo 1: Programa de muestra de conversión implementado en lenguaje C
/* f.c: Programa de muestra de conversión de código C*/
#include
#define OUTLEN 255
main()
{
char *in_utf8 = "姝e?ㄥ?瑁?"; /p>
char *in_gb2312 = "Instalando";
char out[OUTLEN];
//Convertir código Unicode a código gb2312
rc = u2g(in_utf8,strlen(in_utf8),out,OUTLEN);
printf("unicode-->gb2312 out=%sn",out);
// Convertir gb2312 código a código Unicode
rc = g2u(in_gb2312,strlen(in_gb2312),out,OUTLEN);
printf("gb2312-->unicode out=%sn", out) ;
}
//Conversión de código: convertir de una codificación a otra
int code_convert(char *from_charset,char *to_charset ,char *inbuf,int inlen,char *outbuf,int outlen)
{
iconv_t cd;
int rc;
char **pin = &inbuf ;
char **pout = &outbuf;
cd = iconv_open(to_charset,from_charset);
if (cd==0 ) devuelve -1;
memset(outbuf,0,outlen);
if (iconv(cd,pin,&inlen,pout,&outlen)==-1) return -1 ;
iconv_close(cd);
return 0;
}
//Convierte el código UNICODE al código GB2312
int u2g( char *inbuf,int inlen,char *outbuf,int outlen)
{
return code_convert("utf-8","gb2312",inbuf, inlen,outbuf,outlen) ;
}
//Convertir código GB2312 a código UNICODE
int g2u(char *inbuf,size_t inlen,char *outbuf ,size_t outlen) p>
{
return code_convert("gb2312","utf-8",inbuf,inlen,outbuf,outlen);
}
Ejemplo 2: Programa de muestra de conversión implementado en lenguaje C++
/* f.cpp: Programa de muestra de conversión de código C++*/
#include #include #define OUTLEN 255 usando el espacio de nombres std; // Clase de operación de conversión de código clase CodeConverter { privado: iconv_t cd; público: //Construcción CodeConverter(const char *from_charset,const char *to_charset) { cd = iconv_open(to_charset,from_charset); } // Destrucción ~CodeConverter() { iconv_close(cd); } // Salida de conversión int convert(char * inbuf ,int inlen,char *outbuf,int outlen) { char **pin = &inbuf; char **pout = &outbuf; memset( outbuf ,0,outlen); return iconv(cd,pin,(size_t *)&inlen,pout,(size_t *)&outlen); } }; int main(int argc, char **argv) { char *in_utf8 = "姝e?ㄥ?瑁?"; /p> char *in_gb2312 = "Instalando"; char out[OUTLEN]; // utf-8-->gb2312 CodeConverter cc = CodeConverter("utf-8","gb2312"); cc.convert(in_utf8,strlen(in_utf8),out,OUTLEN); cout < < " utf-8-->gb2312 in=" << in_utf8 << ",out=" << salida << endl; // gb2312-->utf-8 CodeConverter cc2 = CodeConverter("gb2312","utf-8"); cc2.convert(in_gb2312,strlen(in_gb2312),out,OUTLEN); cout < < " gb2312-->utf-8 in=" << in_gb2312 << ",out=" << out << endl; } 2. Utilice el comando iconv para realizar Conversión de codificación Al realizar la conversión de codificación en LINUX, puede usar la familia de funciones iconv para implementar la programación o puede usar el comando iconv para implementarla, pero este último es para archivos, es decir, especificando un archivo de una codificación a otra. El comando iconv se utiliza para convertir la codificación del archivo especificado. La salida predeterminada es al dispositivo de salida estándar y el archivo de salida también se puede especificar. Uso: iconv [opciones...] [archivo...] Las siguientes opciones están disponibles: Especificación de formato de entrada/salida: p > -f, --from-code=Nombre codificación de texto original -t, --to-code=Nombre codificación de salida Información: -l, --list Lista todos los conjuntos de caracteres conocidos Control de salida: -c Ignora caracteres no válidos de la salida -o, -- salida=ARCHIVO archivo de salida -s, --advertencias de apagado silencioso --información detallada sobre el progreso de la impresión -?, --ayuda a proporcionar el lista de ayuda del sistema --usage proporciona información breve sobre el uso -V, --version imprime el número de versión del programa Ejemplo: iconv -f utf-8 -t gb2312 aaa.txt >bbb.txt Este comando lee el archivo aaa.txt, lo convierte de codificación utf-8 a codificación gb2312 y su salida se dirige a archivo bbb.txt. Resumen: LINUX nos proporciona potentes herramientas de conversión de codificación, lo que nos aporta comodidad.