Como você encontra o valor unicode de um personagem em Julia?

13

Estou procurando algo como o Python ord(char)para Julia que retorna um número inteiro.

vboreda514
fonte
14
@Asadefa Ok, mas essa pergunta foi feita, respondida e arquivada várias vezes nos idiomas mais antigos e populares. É Julia (8 anos), não C (48 anos) ou C ++ (35 anos). Estou com dificuldades para entender por que este comentário foi publicado.
Xevion 15/03

Respostas:

14

Eu acho que você está procurando codepoint. A partir da documentação:

codepoint(c::AbstractChar) -> Integer

Retorne o ponto de código Unicode (um número inteiro não assinado) correspondente ao caractere c(ou lance uma exceção se c não representar um caractere válido). Pois Char, esse é um UInt32valor, mas os AbstractChartipos que representam apenas um subconjunto de Unicode podem retornar um número inteiro de tamanho diferente (por exemplo UInt8).

Por exemplo:

julia> codepoint('a')
0x00000061

Para obter o equivalente exato da ordfunção do Python , convém converter o resultado em um número inteiro assinado:

julia> Int(codepoint('a'))
97
François Févotte
fonte
6

Você também pode fazer:

julia> Int('a')
97

Se você tem uma String:

julia> s="hello";

julia> Int(s[1])
104

julia> Int(s[2])
101

julia> Int(s[5])
111

Mais detalhes aqui .

4lrdyD
fonte
Apenas para salientar que o Int('a')sugerido aqui é exatamente equivalente Int(codepoint('a'))e também mais curto.
giordano