Comment trouvez-vous la valeur unicode d'un personnage dans Julia?

13

Je cherche quelque chose comme Python ord(char)pour Julia qui retourne un entier.

vboreda514
la source
14
@Asadefa D'accord, mais cette question a été posée, répondue et archivée à plusieurs reprises pour les langues plus anciennes et plus populaires. C'est Julia (8 ans), pas C (48 ans) ou C ++ (35 ans). J'ai du mal à comprendre pourquoi ce commentaire a été publié.
Xevion

Réponses:

14

Je pense que vous cherchez codepoint. De la documentation:

codepoint(c::AbstractChar) -> Integer

Renvoie le point de code Unicode (un entier non signé) correspondant au caractère c(ou lève une exception si c ne représente pas un caractère valide). Pour Char, il s'agit d'une UInt32valeur, mais les AbstractChartypes qui ne représentent qu'un sous-ensemble d'Unicode peuvent renvoyer un entier de taille différente (par exemple UInt8).

Par exemple:

julia> codepoint('a')
0x00000061

Pour obtenir l'équivalent exact de la ordfonction de Python , vous pouvez convertir le résultat en un entier signé:

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

Vous pouvez aussi simplement faire:

julia> Int('a')
97

Si vous avez une chaîne:

julia> s="hello";

julia> Int(s[1])
104

julia> Int(s[2])
101

julia> Int(s[5])
111

Plus de détails ici .

4lrdyD
la source
Juste pour souligner que ce qui est Int('a')suggéré ici est exactement équivalent à Int(codepoint('a')), et aussi plus court.
giordano