|
|
|
|
- Qué es el formato UNICODE
- Gestión de UNICODE
- Conversiones implícitas
Uso de Unicode en cadenas de caracteres
Qué es el formato UNICODE El formato UNICODE es un sistema de codificación que asigna un número único a cada carácter. Esta codificación se realiza en 16 bits. Este número puede leerse independientemente de la plataforma, el software o el idioma utilizado. El formato Unicode puede soportar todos los juegos de caracteres del planeta. Se tiene en cuenta la gestión del formato Unicode: - al gestionar los strings de caracteres
- al gestionar los ficheros de datos
- cuando se gestionan los controles que muestran datos procedentes de cadenas de caracteres o archivos de datos.
Para gestionar UNICODE, WINDEV ofrece: - una opción para definir el formato de la cadena en tiempo de ejecución en la configuración del proyecto description.
Para modificar la gestión de cadenas de caracteres en la configuración actual:
- Abra la ventana de descripción del proyecto : en la pestaña "Proyecto", en el grupo "Configuración del proyecto", haga clic en "Configuración actual".
- En la ventana que aparece, vaya a la pestaña "Unicode" y seleccione el modo deseado : Utilizar cadenas ANSI en ejecución o Utilizar cadenas UNICODE en ejecución.
- el tipo de cadena UNICODE.
- funciones de conversión:
Estas funciones se utilizan para realizar conversiones de Ansi a Unicode y de Unicode a Ansi.. Estas conversiones se realizan automáticamente al tratar strings de caracteres (véase el párrafo siguiente)..
| | AnsiToUnicode | Convierte:- una cadena de caracteres ANSI (Windows) en una cadena de caracteres UNICODE.
- un buffer que contiene una cadena de caracteres ANSI (Windows) en un buffer que contiene una cadena de caracteres UNICODE.
| StringToUTF8 | Convierte una cadena ANSI o UNICODE en UTF-8. | UnicodeToAnsi | Convierte:- una cadena UNICODE a ANSI (Windows).
- un buffer que contiene una cadena UNICODE en un buffer que contiene una cadena ANSI (Windows).
| UTF8ToString | Convierte una cadena UTF-8 en ANSI o UNICODE. |
- el uso de funciones para tratar los strings de caracteres:
| | StringCompare | Compara dos cadenas carácter por carácter:- según el orden de caracteres ASCII.
- según el orden alfabético.
| StringFormat | Define el formato de una cadena de caracteres según las opciones seleccionadas. | StringCount | Calcula: - el número de instancias de una cadena específica (respetando los criterios de búsqueda) en otra cadena.
- el número de instancias de un conjunto de cadenas en un array.
| Complete | Devuelve una cadena de caracteres de una longitud especificada. | CompleteDir | Agrega una barra invertida al final de la cadena, si es necesario. | Right | Extrae la parte derecha (es decir, los últimos caracteres) de una cadena o buffer. | ExtractString | Permite:- extraer una subcadena de una cadena en función de un separador de cadenas especificado.
- buscar subcadenas en una cadena en función de un separador de cadenas especificado.
| Left | Extrae la parte izquierda (es decir, los primeros caracteres) de una cadena o buffer. | Reverse | Devuelve el carácter que corresponde a la diferencia entre el código ASCII de un carácter específico en una cadena y 255. | Middle | Extrae: - una subcadena de una cadena a partir de una posición especificada.
- parte de un buffer a partir de una posición especificada.
| Position | Busca la posición de una cadena especificada en otra cadena. | PositionOccurrence | Busca la posición X de una cadena dentro de otra. | Replace | Reemplaza todas las instancias especificadas de una subcadena en una cadena por otra subcadena. | RepeatString | Concatena un número determinado de copias de la misma cadena o buffer especificado. | NoAccent | Convierte los caracteres acentuados de una cadena en caracteres no acentuados. | NoSpace | Devuelve una cadena después de eliminar los espacios: - a la izquierda y derecha de la cadena inicial.
- dentro de la cadena inicial.
| Length | Devuelve:- la longitud de una cadena, es decir, el número de caracteres de la cadena (incluyendo espacios y ceros binarios).
- el tamaño de un buffer, es decir, el número de bytes en el buffer.
| TypeVar | Identifica el tipo de una expresión, una variable (durante una llamada a un Procedure por ejemplo) o un control. | Val | Devuelve el valor numérico de una cadena de caracteres. |
- la utilización de operadores para tratar los strings de caracteres :
- el uso de operadores para navegar por las cadenas de caracteres:
- el uso de funciones para manejar los archivos de texto :
| | fWrite | Escribe un string en un fichero externo (formato ANSI o UNICODE). | fWriteLine | Escribe una Line en un archivo de texto (en formato ANSI o UNICODE). | fRead | Lee un bloque de bytes (caracteres) en un archivo externo (ANSI o UNICODE). | fReadLine | Lee una Line en un archivo externo (en formato ANSI o UNICODE). | fOpen | Abre un archivo externo (ANSI o Unicode) a manipular por programación. |
Conversiones implícitas A partir de la versión 12, las conversiones se realizan implícitamente entre los strings de caracteres en formato ANSI y los strings de caracteres en formato UNICODE.. Estas conversiones se realizan utilizando el carácter actual set (definido por ChangeCharset). A partir de la versión 15, las cadenas de caracteres UNICODE se convierten automáticamente cuando se asignan a un elemento HFSQL de los siguientes tipos : booleano, entero (cualquier tamaño, con o sin signo), moneda, numérico o real. Ejemplos de uso:
// With the conversion functions ResU is UNICODE string = AnsiToUnicode("Test of a string") // Implicit conversion ResU is UNICODE string = "Test of a string"
Res is string ResU is UNICODE string // With the conversion functions ResU = AnsiToUnicode(Res) Res = UnicodeToAnsi(ResU) // Implicit conversion ResU = Res Res = ResU
Res is string ResU is UNICODE string // With the conversion functions IF ResU <> AnsiToUnicode("") THEN ... IF ResU <> AnsiToUnicode(Res) THEN ... // Implicit conversion IF ResU <> "" THEN ... IF ResU <> Res THEN...
nFil is int = fOpen("E:\temp\Unicode.txt", foRead + foUnicode) ResU is UNICODE string ResU = fReadLine(nFile) WHILE ResU <> EOT Trace(ResU) ResU = fReadLine(nFile) END
Esta página también está disponible para…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|