AYUDA EN LÍNEA
 WINDEVWEBDEV Y WINDEV MOBILE

Ayuda / WLanguage / Funciones WLanguage / Funciones estándar / Funciones de cadenas
  • Qué es el formato UNICODE
  • Gestión de UNICODE
  • Conversiones implícitas
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReportes y ConsultasCódigo de Usuario (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Código Navegador
WINDEV Mobile
AndroidWidget Android iPhone/iPadApple WatchUniversal Windows 10 App
Otros
Procedimientos almacenados
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.
Gestión de UNICODE
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:
    1. 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".
    2. 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)..
    AnsiToUnicodeConvierte:
    • 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.
    StringToUTF8Convierte una cadena ANSI o UNICODE en UTF-8.
    UnicodeToAnsiConvierte:
    • una cadena UNICODE a ANSI (Windows).
    • un buffer que contiene una cadena UNICODE en un buffer que contiene una cadena ANSI (Windows).
    UTF8ToStringConvierte una cadena UTF-8 en ANSI o UNICODE.
  • el uso de funciones para tratar los strings de caracteres:
    StringCompareCompara dos cadenas carácter por carácter:
    • según el orden de caracteres ASCII.
    • según el orden alfabético.
    StringFormatDefine el formato de una cadena de caracteres según las opciones seleccionadas.
    StringCountCalcula:
    • 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.
    CompleteDevuelve una cadena de caracteres de una longitud especificada.
    CompleteDirAgrega una barra invertida al final de la cadena, si es necesario.
    RightExtrae la parte derecha (es decir, los últimos caracteres) de una cadena o buffer.
    ExtractStringPermite:
    • 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.
    LeftExtrae la parte izquierda (es decir, los primeros caracteres) de una cadena o buffer.
    ReverseDevuelve el carácter que corresponde a la diferencia entre el código ASCII de un carácter específico en una cadena y 255.
    MiddleExtrae:
    • una subcadena de una cadena a partir de una posición especificada.
    • parte de un buffer a partir de una posición especificada.
    PositionBusca la posición de una cadena especificada en otra cadena.
    PositionOccurrenceBusca la posición X de una cadena dentro de otra.
    ReplaceReemplaza todas las instancias especificadas de una subcadena en una cadena por otra subcadena.
    RepeatStringConcatena un número determinado de copias de la misma cadena o buffer especificado.
    NoAccentConvierte los caracteres acentuados de una cadena en caracteres no acentuados.
    NoSpaceDevuelve una cadena después de eliminar los espacios:
    • a la izquierda y derecha de la cadena inicial.
    • dentro de la cadena inicial.
    LengthDevuelve:
    • 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.
    TypeVarIdentifica el tipo de una expresión, una variable (durante una llamada a un Procedure por ejemplo) o un control.
    ValDevuelve 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 :
    fWriteEscribe un string en un fichero externo (formato ANSI o UNICODE).
    fWriteLineEscribe una Line en un archivo de texto (en formato ANSI o UNICODE).
    fReadLee un bloque de bytes (caracteres) en un archivo externo (ANSI o UNICODE).
    fReadLineLee una Line en un archivo externo (en formato ANSI o UNICODE).
    fOpenAbre 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
Versión mínima requerida
  • Versión 9
Esta página también está disponible para…
Comentarios
Haga clic en [Agregar] para publicar un comentario

Última modificación: 03/07/2023

Señalar un error o enviar una sugerencia | Ayuda local