Intrinsic functions - Enterprise COBOL for z/OS 6.3.0
A função UPOS retorna um valor inteiro igual ao índice do enésimo caractere UTF-8 ou UTF-16 em um argumento de item de dados de caracteres que contém 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 argument-1 for da classe alfabética, alfanumérica ou UTF-8, 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.
Suponha que o argument-1 seja alfabético ou alfanumérico e o argument-2 = n, o valor retornado seja a posição em bytes do enésimo caractere UTF-8 no argument-1.
Suponha que o argument-1 seja um item de dados nacional e o argument-2 = n, o valor retornado seja a posição de byte do enésimo caractere UTF-16 no argument-1.
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 argument-2 = n, o valor retornado será a posição de byte no argument-1 onde o enésimo caractere UTF-8 ou UTF-16 é iniciado.
O valor retornado de UPOS é um número inteiro de 9 dígitos se LP (32) estiver em vigor ou um número inteiro de 18 dígitos se LP (64) estiver em vigor.
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:
- UPOS(A 1) retorna 1
- UPOS(A 2) retorna 2
- UPOS(A 3) retorna
a
- UPOS(A 4) retorna 5
- UPOS(A 5) retorna 6
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:
- UPOS (B 1) retorna 1
- UPOS (B 2) retorna 3
- UPOS (B 3) retorna 5
- UPOS (B 4) retorna 7
- UPOS (B 5) retorna 9
- UPOS (B 6) retorna 11
- UPOS (B 7) retorna 15
Exemplo 3
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.
Por exemplo, quando codificado em UTF-8, o caractere Unicode ä pode ser x'C3A4 'ou x'61CC88'.
Com um dos caracteres UTF-8 no argumento-1, os valores retornados da função UPOS são diferentes.
Veja a tabela a seguir para detalhes.
Valores Retornados da Função UPOS
| argument-1 |
Codificação Unicode |
Codificação UTF-8 |
Valores retornados da função UPOS |
| 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) |
UPOS(C 1) retorna 1 UPOS(C 2) retorna 3 UPOS(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) |
UPOS(C 1) retorna 1 UPOS(C 2) retorna 2 UPOS(C 3) retorna 4 |
© Copyright IBM Corp.