Omitir V�nculos de navegaci�n | |
Salir de la Vista de impresi�n | |
Guía para entornos de idiomas internacionales Oracle Solaris 11 Information Library (Español) |
2. Compatibilidad de conjunto de parámetros Unicode y UTF-8
3. Trabajo con idiomas y configuraciones regionales
4. Métodos de entrada y preferencias del teclado en equipos de escritorio
Conversión de juegos de códigos
Componentes internacionales para Unicode
Compatibilidad con nombres de dominios internacionalizados
Interoperabilidad con otras plataformas
Consideraciones de servidor NFS
Consideraciones de sistema de archivos
Archivos que contienen nombres de archivos que no son ASCII
Creación de una configuración regional personalizada
Creación de una configuración regional nueva sobre la base de una configuración regional de sistema
Cómo crear una configuración regional personalizada
Creación de una configuración regional desde el principio
La compatibilidad para la conversión de juegos de códigos, o conversión de juegos de caracteres (charset), es una parte esencial del sistema operativo, ya que la mayoría de las aplicaciones dependen de esta capacidad para funcionar de manera adecuada.
La versión actual de Oracle Solaris también incluye Componentes internacionales para Unicode (ICU), una biblioteca de uso muy extendido y herramientas para la compatibilidad con Unicode, la internacionalización del software y la globalización del software.
Oracle Solaris 11 incluye distintas herramientas y bibliotecas para la conversión de juegos de códigos. La utilidad de conversión de juegos de códigos principal, iconv, se genera a partir de la biblioteca iconv en Oracle Solaris libc .
La utilidad de línea de comandos iconv(1) convierte caracteres o secuencias de caracteres de un juego de códigos a otro. Admite una amplia gama de juegos de códigos. Como los nombres de los juegos de códigos a menudo difieren entre las distintas plataformas, muchos de los juegos de códigos se admiten con varios nombres gracias a un mecanismo de asignación de alias en iconv. Ejecute el siguiente comando para obtener la lista de juegos de códigos actualmente disponibles en un sistema:
$ /usr/bin/iconv -l
Como varios paquetes tienen módulos iconv, puede extender la lista predeterminada mediante la instalación de paquetes adicionales. La instalación predeterminada incluye el paquete system/library/iconv/utf-8, que incluye el conjunto básico de módulos iconv para la conversión entre UTF-8 y otros juegos de códigos Unicode y otros juegos de códigos seleccionados. Hay otros paquetes disponibles en la categoría Sistema/Internacionalización del Package Manager o mediante el uso del patrón de nombre system/library/iconv/* para la instalación con el comando pkg(1).
La opción iconv —f define el juego de código de origen y la opción -t define el juego de código de destino. Puede usar iconv, o el método de entrada estándar, para convertir un archivo a la salida estándar de la siguiente manera:
$ /usr/bin/iconv -f eucJP -t UTF-8 file.txt
Este ejemplo convertiría el nombre de archivo file.txt del juego de códigos eucJP (formato de paquete de código UNIX extendido para japonés) y escribiría el resultado en UTF-8 en la salida estándar.
En Oracle Solaris 11, iconv se ha extendido para incluir indicadores que modifican el comportamiento de la conversión en estas situaciones especiales:
Carácter no válido: el carácter introducido no es válido en el juego de códigos de origen declarado
Carácter no idéntico: no hay un carácter igual en el juego de códigos de destino
Los indicadores como //ILLEGAL_DISCARD, //NON_IDENTICAL_DISCARD , //IGNORE y //TRANSLIT también se pueden usar en la línea de comandos. Para obtener más información, consulte la página del comando man iconv_open(3C).
Nota - Algunos de los módulos iconv en Oracle Solaris pueden implementar sólo un subconjunto de los indicadores que se describen en la página del comando man iconv_open(3C).
Para obtener más información acerca de iconv, consulte iconv(1), iconv(3C), iconv_open(3C) y las páginas del comando man relacionadas.
Oracle Solaris 11 agrega las bibliotecas C/C++ International Components for Unicode (ICU) a las interfaces disponibles. ICU es un conjunto de bibliotecas bien establecido y ampliamente usado que proporciona compatibilidad con Unicode y globalización para las aplicaciones de software. ICU es portátil y brinda a las aplicaciones los mismos resultados en todas las plataformas y entre software C/C++ y Java.
Algunos de los servicios que proporciona ICU incluyen:
Conversión de página de código: permite convertir datos de texto a Unicode y desde Unicode, y casi cualquier otro juego de caracteres o codificación.
Intercalación: permite comparar cadenas según todas las convenciones y estándares de un idioma, región o país en particular.
Formato: se proporciona el formato de los números, las fechas, las horas y las monedas de acuerdo con la configuración regional elegida.
Cálculos de hora: se proporcionan varios tipos de calendarios y un conjunto completo de API de cálculo de zona horaria.
Compatibilidad con Unicode: ICU realiza un seguimiento detenido del estándar Unicode, proporciona acceso fácil a todas las propiedades de los caracteres Unicode, la normalización Unicode, el uso de mayúsculas y otras operaciones fundamentales según lo especificado por el estándar Unicode.
Expresiones regulares: las expresiones regulares de ICU admiten completamente Unicode y, al mismo tiempo, proporcionan un rendimiento muy competitivo.
Texto bidireccional (Bidi): proporciona compatibilidad para tratar texto que contiene datos de izquierda a derecha y datos de derecha a izquierda.
Límites de texto: permite ubicar la posición de las palabras, oraciones y párrafos dentro de un rango de texto o identificar las ubicaciones donde sería adecuado utilizar el retorno automático de líneas al mostrar el texto.
ICU en Oracle Solaris 11 se divide en dos paquetes: library/icu únicamente contiene las bibliotecas, mientras que developer/icu proporciona los archivos de encabezado y varias utilidades, como uconv(1).
Para obtener más información, consulte el sitio web del proyecto en http://site.icu-project.org. Las páginas del comando man libicui18n(3LIB), libicuio(3LIB), libicudata (3LIB), libicule(3LIB), libiculx(3LIB), libicutu (3LIB) y libicuuc(3LIB) documentan cómo usar las bibliotecas en Oracle Solaris.
Además de iconv(1), el comando uconv(1) que es parte del conjunto de herramientas de componentes internacionales para Unicode (ICU) también puede utilizarse para convertir texto de una codificación a otra. uconv admite 229 codificaciones junto con más de 1000 alias.
La herramienta es parte del paquete developer/icu, que no se instala de manera predeterminada. Para instalarlo, ejecute el siguiente comando:
# pkg install developer/icu
Para convertir un texto de la codificación cp-1252 a UTF-8 , escriba:
$ uconv -f cp1252 -t UTF-8 -o file_in_utf8.txt file_in_cp1252_encoding.txt
Otra característica de uconv es la transliteración, es decir, la conversión de letras de una secuencia de comandos a otra sin traducir las palabras subyacentes. El siguiente ejemplo convierte un texto de griego a caracteres latinos:
$ echo “Σολαρις”| uconv -x Greek-Latin -f utf-8 -t utf-8 Solaris
Para obtener más información acerca de las funciones de esta herramienta, consulte la página del comando man uconv(1).
La utilidad del analizador de codificación de archivos fsexam le permite convertir el nombre de un archivo o los contenidos de un archivo de texto sin formato de una codificación de caracteres heredada a una codificación UTF-8. La utilidad fsexam incluye las siguientes funciones nuevas:
Personalización de lista de codificación
Detección automática de codificación
Compatibilidad con ejecuciones simuladas, archivos de registro, conversión de lotes, filtrado de archivos, archivos simbólicos, línea de comandos y tipos de archivos especiales, como archivos comprimidos
Para agregar fsexam al sistema, instale el paquete storage/fsexam. Para obtener más información, consulte las páginas del comando man fsexam (1) y fsexam(4).
Oracle Solaris incluye auto_ef(1), una utilidad de línea de comandos para identificar la codificación de un archivo. auto_ef evalúa la codificación mediante la conversión de código iconv y determina si cierta conversión de código fue exitosa dentro del archivo. Además, realiza análisis de frecuencia en las secuencias de caracteres que aparecen en el archivo. Por ejemplo,
$ auto_ef test_file eucJP
Con la opción -a, muestra todas las codificaciones posibles para un archivo determinado:
$ auto_ef -a test_file eucJP 0.89 zh_CN.euc 0.40 ko_KR.euc 0.01
Para agregar auto_ef al sistema, instale el paquete text/auto_ef. Para obtener más información, consulte la página del comando man auto_ef(1).