2016-10-17 1 views
-2

Ich versuche, den Zeichenwert in Ascii und auch das Zeichen am Index zu bekommen.Swift: Zeichen aus Zeichenfolge (ascii Wert)

Ich habe diese Objective-C jemand von Ihnen würde die Umwandlung in swift wissen?

po [strToSort characterAtIndex:i] // character x 
U+0078 u'x' 
po [strToSort UTF8String][i] 
x 

Ich werde Ihre Hilfe wirklich zu schätzen wissen.

Antwort

0

Wenn ich Ihre Frage richtig verstehen, wollen Sie den ASCII-Wert eines Strings zu einem bestimmten Index erhalten:

let str = "x" as NSString 
let asciiVal = str.character(at: 0) 
print("String: \(str) ASCII: \(asciiVal)") // String: x ASCII: 120 
0

Aktualisiert: Sie mit einem Index

Swift direkt Index String kann doesn‘ t können Sie String s mit einem Integer-Index tiefstellen. Stattdessen können Sie einen Index konstruieren in passieren.

let str = "String with some characters" 
let index = str.startIndex.advancedBy(5) 
let character = str[index] 
print(character) // "g" 

Weitere Informationen darüber, warum Sie keine Strings als direkte Folge von Zeichen behandeln, können Sie weitere Informationen here finden.

Im Wesentlichen, um Unicode-kompatibel zu sein, können manchmal mehrere Zeichen kombiniert werden, um ein einzelnes Zeichen in der endgültigen Zeichenfolge zu erstellen. Dies führt zu Problemen beim naiven Zählen und Indizieren.

Wenn Sie eine utf8-Darstellung der Zeichenfolge wünschen, bietet String eine utf8-Eigenschaft sowie eine unicodeScalars-Eigenschaft zum Abrufen des Codepunkts für jedes Zeichen.

Verwandte Themen