Wie findet man den Unicode-Wert eines Charakters in Julia?

13

Ich suche nach etwas wie Pythons ord(char)für Julia, das eine ganze Zahl zurückgibt.

vboreda514
quelle
14
@Asadefa Okay, aber diese Frage wurde für die älteren, populäreren Sprachen vielfach gestellt, beantwortet und archiviert. Dies ist Julia (8 Jahre alt), nicht C (48 Jahre) oder C ++ (35 Jahre). Ich habe Schwierigkeiten zu verstehen, warum dieser Kommentar veröffentlicht wurde.
Xevion

Antworten:

14

Ich denke du suchst codepoint. Aus der Dokumentation:

codepoint(c::AbstractChar) -> Integer

Geben Sie den Unicode-Codepunkt (eine Ganzzahl ohne Vorzeichen) zurück, der dem Zeichen entspricht c(oder lösen Sie eine Ausnahme aus, wenn c kein gültiges Zeichen darstellt). Für Charist dies ein UInt32Wert, sondern AbstractCharTypen , die nur eine Teilmenge von Unicode darstellen können eine unterschiedlich große Ganzzahl zurück (z UInt8).

Zum Beispiel:

julia> codepoint('a')
0x00000061

Um das genaue Äquivalent der Python- ordFunktion zu erhalten, möchten Sie das Ergebnis möglicherweise in eine vorzeichenbehaftete Ganzzahl konvertieren:

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

Sie können auch einfach tun:

julia> Int('a')
97

Wenn Sie einen String haben:

julia> s="hello";

julia> Int(s[1])
104

julia> Int(s[2])
101

julia> Int(s[5])
111

Weitere Details hier .

4lrdyD
quelle
Nur um darauf hinzuweisen, Int('a')dass der hier vorgeschlagene genau gleichwertig Int(codepoint('a'))und auch kürzer ist.
Giordano