Come trovi il valore unicode di un personaggio in Julia?


13

Sto cercando qualcosa come Python's ord(char)per Julia che restituisce un numero intero.


14
@Asadefa Va bene, ma quella domanda è stata posta, risolta e archiviata più volte per le lingue più vecchie e popolari. Questa è Julia (8 anni), non C (48 anni) o C ++ (35 anni). Ho difficoltà a capire perché questo commento è stato pubblicato.
Xevion

Risposte:


14

Penso che tu stia cercando codepoint. Dalla documentazione:

codepoint(c::AbstractChar) -> Integer

Restituisce il punto di codice Unicode (un numero intero senza segno) corrispondente al carattere c(o genera un'eccezione se c non rappresenta un carattere valido). Perché Char, questo è un UInt32valore, ma i AbstractChartipi che rappresentano solo un sottoinsieme di Unicode possono restituire un numero intero di dimensioni diverse (ad es UInt8.).

Per esempio:

julia> codepoint('a')
0x00000061

Per ottenere l'esatto equivalente della ordfunzione di Python , potresti voler convertire il risultato in un intero con segno:

julia> Int(codepoint('a'))
97

6

Puoi anche solo fare:

julia> Int('a')
97

Se hai una stringa:

julia> s="hello";

julia> Int(s[1])
104

julia> Int(s[2])
101

julia> Int(s[5])
111

Maggiori dettagli qui .


Solo per sottolineare che Int('a')suggerito qui è esattamente equivalente Int(codepoint('a'))e anche più breve.
giordano,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.