¿Cómo encuentras el valor unicode de un personaje en Julia?

13

Estoy buscando algo como Python ord(char)para Julia que devuelve un número entero.

vboreda514
fuente
14
@Asadefa Está bien, pero esa pregunta se ha hecho, respondido y archivado muchas veces para los idiomas más antiguos y populares. Esta es Julia (8 años), no C (48 años) o C ++ (35 años). Tengo dificultades para entender por qué se publicó este comentario.
Xevion

Respuestas:

14

Creo que lo estás buscando codepoint. De la documentación:

codepoint(c::AbstractChar) -> Integer

Devuelve el punto de código Unicode (un entero sin signo) correspondiente al carácter c(o lanza una excepción si c no representa un carácter válido). Para Char, este es un UInt32valor, pero los AbstractChartipos que representan solo un subconjunto de Unicode pueden devolver un número entero de diferente tamaño (por ejemplo UInt8).

Por ejemplo:

julia> codepoint('a')
0x00000061

Para obtener el equivalente exacto de la ordfunción de Python , es posible que desee convertir el resultado a un entero con signo:

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

También puedes simplemente hacer:

julia> Int('a')
97

Si tienes una cadena:

julia> s="hello";

julia> Int(s[1])
104

julia> Int(s[2])
101

julia> Int(s[5])
111

Más detalles aquí .

4lrdyD
fuente
Solo para señalar que lo Int('a')sugerido aquí es exactamente equivalente a Int(codepoint('a')), y también más corto.
giordano