COBOL - Funções intrínsecas - UWIDTH



Desenvolvido por DORNELLES Carlos Alberto - Analista de Sistemas - Brasília DF. - cad_cobol@hotmail.com

COBOL - Funções intrínsecas - UWIDTH
Intrinsic functions - Enterprise COBOL for z/OS 6.3.0

A função UWIDTH retorna um valor inteiro que é igual à largura em bytes do enésimo caractere UTF-8 ou UTF-16 em um argumento de item de dados de caracteres codificado em UTF-8 ou UTF-16.

O tipo de função é inteiro.

argument-1
Deve ser da classe alfabética, alfanumérica, nacional ou UTF-8.
O argumento-1 deve conter caracteres codificados UTF-8 ou UTF-16 válidos:
  • Se o argument-1 for da classe alfabética, alfanumérica, ele deverá conter dados UTF-8 válidos.
  • Se o argument-1 for da classe nacional, ele deverá conter dados UTF-16 válidos.
argument-2
Deve ser um número inteiro.

O valor retornado é um número inteiro.

Se o argument-2 não for positivo ou se o argument-2 for maior que ULENGTH (argument-1), zero será retornado.
Caso contrário, se o argument-2 = n, o valor retornado será a largura em bytes do enésimo caractere UTF-8 ou UTF-16 no argument-1.

Exemplo 1

Se A é um item alfanumérico que contém o valor UTF-8 x'4BC3A4666572 '(' Käfer '), os valores retornados são os seguintes:,/P.

  • UWIDTH(A 1) retorna 1
  • UWIDTH(A 2) retorna 2
  • UWIDTH(A 3) retorna 1
  • UWIDTH(A 4) retorna 1
  • UWIDTH(A 5) retorna 1

Exemplo 2

Se B é um item nacional que contém o valor UTF-16 x'005400F6006200750072D858DC6B0073 '(' Töber ?? s '), os valores retornados são os seguintes:,/P.

  • UWIDTH (B 1) retorna 2
  • UWIDTH (B 2) retorna 2
  • UWIDTH (B 3) retorna 2
  • UWIDTH (B 4) retorna 2
  • UWIDTH (B 5) retorna 2
  • UWIDTH (B 6) retorna 4
  • UWIDTH (B 7) retorna 2

Exemplo 3

Se o argument-1 for um item codificado em UTF-8 e o argumento UTF-8 contiver caracteres compostos, os caracteres combinados serão contados individualmente.
Por exemplo, quando codificado em UTF-8, o caractere Unicode ä pode ser x'C3A4 'ou x'61CC88'.
Com um dos caracteres UTF-8 no argument-1, os valores retornados da função UWIDTH são diferentes.

Veja a tabela a seguir para detalhes.

Valores Retornados da Função UWIDTH

argument-1 Codificação Unicode Codificação UTF-8 Valores retornados da função UWIDTH
C = äK U+00E4 + U+004B (forma pré-composta,
letra minúscula latina a com diérese + letra maiúscula latina K)
x'C3A44B' (äK) UWIDTH (C 1) retorna 2
UWIDTH (C 2) retorna 1
UWIDTH (C 3) retorna 0
U+0061 + U+0308 + U+004B (decomposição canônica,
letra minúscula latina a + diaerese combinada + letra maiúscula latina K)
x'61CC884B' (äK) UWIDTH (C 1) retorna 1
UWIDTH (C 2) retorna 2
UWIDTH (C 3) retorna 1


© Copyright IBM Corp.