4D v13.4Character code |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v13.4
Character code
|
Character code ( caractere ) -> Resultado | ||||||||
Parâmetro | Tipo | Descrição | ||||||
caractere | cadeia |
![]() |
Caractere para o qual você quer conseguir o código | |||||
Resultado | Inteiro longo |
![]() |
Código dos caracteres | |||||
O comando Character code devolve o código do caractere atual de Caractere.
Se o banco funciona em modo Unicode (modo padrão para os bancos criados a partir da versão 11 de 4D), o comando devolve o código Unicode UTF-16 de caractere (entre 1 e 65535).
Se o banco funciona em modo compatibilidade ASCII, o comando devolve o código ASCII de caractere (entre 0 e 255). Para maior informação sobre os diferentes modos para a gestão de cadeias em 4D, consulte a seção Códigos ASCIIs..
Se houver mais de um caractere na cadeia, Character code devolve unicamente o código do primeiro caractere.
A função Char é a contraparte de Character code Devolve o caractere que um código UTF-16 ou ASCII representa.
Importante: em modo compatibilidade ASCII, todos os valores de texto, campos ou variáveis, utilizam a tabela ASCII de Mac OS, nas plataformas Macintosh e Windows, se não for realizada nenhuma conversão a outra tabela ASCII. Para maior informação, consulte a seção Códigos ASCII.
Os caracteres em maiúsculas e minúsculas são considerados iguais dentro de uma comparação. Pode utilizar Character code para diferenciar entre os caracteres em maiúsculas e em minúsculas. Portanto, esta linha devolve True:
("A"="a")
(Character code("A")=Character code("a"))
Este exemplo devolve o código do primeiro caractere da cadeia "ABC":
RecupCod:=Character code("ABC") ` RecupCod assume o valor 65, o código do caractere de A
O exemplo abaixo testa os retornos de carro e os tabuladores:
For($vlCar;1;Length(vtText))
Case of
:(vtText≤$vlCar≥=Char(Carriage return))
` Fazer algo
:(vtText≤$vlCar≥=Char(Tab))
` Fazer outra coisa
:(...)
` ...
End case
End for
Quando for executado muitas vezes em textos longos, se executará mais rápido, quando for compilado, se for escrito desta forma:
For($vlCar;1;Length(vtText))
$vlCode:=Character code(vtText≤$vlCar≥)
Case of
:($vlCode=Carriage return)
` Fazer algo
:($vlCode=Tab)
` Fazer outra coisa
:(...)
` ...
End case
End for
O segundo código é executado mais rápido por duas razões: apenas referencia um caractere por iteração e utiliza comparações de inteiros longos ao invés de comparações de cadeias para testar os retornos de carro e as tabulações. Utilize esta técnica quando trabalhe com códigos comuns tais como CR e TAB.
Produto: 4D
Tema: String
Número
91
Modificado: 4D v11 SQL
Char
Códigos ASCII
Símbolos de referência de caracteres