Tecnología

Inicio

Cómo convertir de Unicode a ANSI Vb

Visual Basic almacena toda la información de texto por defecto utilizando el conjunto de caracteres Unicode. Esto le permite almacenar caracteres de idiomas más conocidos (incluyendo incluso algunas lenguas compuestos como Klingon) de forma fiable y precisa. Unicode fue desarrollado para resolver la masa confusa de las páginas de códigos que se utilizan para representar las lenguas del mundo en ANSI. Sin embargo, algunos programas y sistemas heredados esperan que sus datos sean formateados según la norma ANSI, por lo que Visual Basic proporciona las herramientas para hacer esto.

Instrucciones

1 Abra Visual Basic y cree un nuevo proyecto. Seleccione "Aplicación de consola."

2 Pega el siguiente para almacenar algunos datos de texto en Unicode:

String s = "Hola. Esta es una cadena Unicode con codificación".

3 Pega el siguiente para obtener una página de código ANSI:

Dim defaultCodePage = Encoding.Default

Dim winLatinCodePage = Encoding.GetEncoding (1252)

El primero le da la página de códigos predeterminada para el sistema operativo que se está utilizando actualmente. Así, en un equipo japonés, que recuperará la página de códigos predeterminada japonesa. La segunda página de códigos recupera "1252," que es la página de códigos de Windows para el alfabeto latino (Inglés). Se puede ver una lista completa de los números de página de códigos soportados en la primera referencia.

4 Pega el siguiente para convertir la cadena a la nueva codificación:

bytes Dim As Byte () = Encoding.Convert (Encoding.UTF8, winLatinCodePage, s)

Ahora la cadena s definida en el paso 2 se ha convertido en una matriz de bytes que contiene los equivalentes de ANSI (tan cerca como era posible) de acuerdo con la página de código ANSI de Windows América.

Consejos y advertencias

  • A menos que tenga una razón específica para preferir el texto que va a codificarse en ANSI, usted debe dejar que el uso de Visual Basic Unicode. Hay miles de caracteres Unicode en que no se pueden representar en ANSI, mientras que nada en ninguna de las páginas de códigos ANSI puede representarse en Unicode. Incluso relativamente común, pero no estándar, personajes, al igual que los dos caracteres acentuados en resumen, pueden causar problemas a los programas que esperan una determinada página de códigos ANSI.