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.


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

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 .


Nur um darauf hinzuweisen, Int('a')dass der hier vorgeschlagene genau gleichwertig Int(codepoint('a'))und auch kürzer ist.
Giordano
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.