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.