Intrinsic functions - Enterprise COBOL for z/OS 6.3.0
A função ULENGTH retorna um valor inteiro igual ao número de caracteres UTF-8 ou UTF-16 em um argumento de item de dados de caracteres que contém dados 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 argument-1 deve conter caracteres codificados UTF-8 ou UTF-16 válidos:
- Se o argumento-1 for da classe alfabética, alfanumérica ou UTF-8, ele deverá conter dados UTF-8 válidos.
- Se o argumento 1 for da classe nacional, ele deverá conter dados UTF-16 válidos.
O valor retornado é o número de caracteres UTF-8 ou UTF-16 no argumento 1.
Se LP (32) estiver em vigor, o valor retornado será um número inteiro de 9 dígitos; se LP (64) estiver em vigor, o valor retornado será um número inteiro de 18
dígitos.
Exemplo 1
Se o argumento 1 for um item codificado em UTF-8 e o argumento UTF-8 contiver caracteres compostos, os caracteres combinados serão contados individualmente na
determinação do comprimento.
Por exemplo, quando codificado em UTF-8, o caractere Unicode ä pode ser x'C3A4 'ou x'61CC88'.
Com um dos caracteres UTF-8 como argumento-1, os valores retornados da função ULENGTH são diferentes.
Veja a tabela a seguir para detalhes.
Tabela 1. Função ULENGTH do caractere ä
Caracter |
Codificação Unicode |
Codificação UTF-8 |
Valor retornado da função ULENGTH |
ä |
U+00E4(precomposed form, latin small letter a with diaeresis) |
x'C3A4' |
1 |
U+0061 + U+0308(canonical decomposition, latin small letter a + combining diaeresis) |
x'61CC88' |
2 |
Exemplo 2
Se o argument-1 for um item de dados nacional que contém dados UTF-16 e o argument-1 contiver pares substitutos, cada par de substitutos baixos e altos será
contado como um caractere UTF-16.
Por exemplo, se B é um item nacional que contém o valor UTF-16 x'005400F6006200750072D858DC6B0073 '(' Töber ?? s '), o valor retornado de ULENGTH (B) será 7.
Caractere? = X'D858DC6B 'é contado como um caractere UTF-16.
© Copyright IBM Corp.