Comprobación de la compatibilidad con Unicode

Al actualizar a una edición Unicode, debe verificar que la lógica personalizada que haya agregado a los scripts produzca los mismos resultados al ser ejecutada con datos Unicode. Existen áreas predecibles en las cuales los scripts se pueden ver afectados al ser ejecutados con datos Unicode.

Funciones de bit y carácter

Cada una de las funciones que se incluyen a continuación regresan valores basados en las ubicaciones de los bytes o el recuento de bytes. Debe realizar comprobaciones para asegurarse de que estas funciones continúen siendo utilizadas correctamente al pasar de la representación de caracteres de un byte que se utiliza en la edición no Unicode a la codificación de caracteres de dos bytes que se utiliza para los datos Unicode:

  • ASCII( )

  • BIT( )

  • BYTE( )

  • CHR( )

  • DIGIT( )

  • HEX( )

  • MASK( )

  • SHIFT( )

La longitud de bytes no es lo mismo que la longitud de caracteres

Debe comprobar la manera en que se utilizan las siguientes funciones en sus scripts para asegurarse de que no se asuma que existe una correspondencia de uno a uno entre la cantidad de caracteres de los datos y la cantidad de bytes.

Si detecta alguna instancia en la cual la lógica asume una correspondencia de uno a uno entre los caracteres y los bytes, debe ajustar la lógica para trabajar correctamente con los datos Unicode, que utilizan dos bytes para representar cada carácter. Los números que se especifican como parámetros de función de la cadena, como 4 en STRING(1000; 4) hacen referencia a la cantidad de caracteres; por lo tanto, el uso estándar de estas funciones no causará problemas.

Funciones de conversión

  • PACKED( )

  • STRING( )

  • UNSIGNED( )

  • VALUE( )

  • ZONED( )

Funciones de cadena

  • AT( )

  • BLANKS( )

  • INSERT( )

  • LAST( )

  • LENGTH( )

  • REPEAT( )

  • SUBSTRING( )

Funciones varias

  • FILESIZE( )

  • LEADING( )

  • OFFSET( )

  • RECLEN( )

Reemplazo de funciones especificas de Unicode

Los productos Unicode de Diligent admiten seis funciones específicas de Unicode que permiten las conversiones entre datos no Unicode y Unicode. Los productos Unicode de Diligent ofrecen las siguientes funciones:

  • BINTOSTR( ) convierte los datos ZONED o EBCDIC a la cadena Unicode correspondiente. Esto asegura que los valores codificados como datos EBCDIC o ZONED se muestren correctamente.
  • DHEX() devuelve el equivalente hexadecimal de un valor de campo Unicode especificado. Esta función es la opuesta a HTOU().
  • DBYTE( ) devuelve la interpretación de un carácter Unicode de doble byte en una posición específica en un registro.
  • DTOU( ) convierte un valor de fecha en la cadena Unicode correcta sobre la base del ajuste específico de configuración regional.
  • HTOU( ) devuelve el equivalente Unicode de una cadena hexadecimal especificada. Esta función es la opuesta a DHEX( ).
  • UTOD( ) convierte una cadena Unicode específica de una configuración regional en un valor de fecha de Analytics.Analytics