2017-06-16 5 views
0

Ich habe die Zeichenfolge "UK" mit dem folgenden Code in Hex umgewandelt. Wie kann ich es in Hex konvertieren?Wie konvertiert man ASCII in Hex in Swift3?

let str = auxText 
    let bytes = str.utf8 
    var buffer = [UInt8](bytes) 
    buffer[0] = buffer[0] + UInt8(1) 
    print("ascii value is",buffer) 
+0

möglich duplizieren https://stackoverflow.com/questions/24229505/how-to-convert-an-int-to-hex-string-in-swift – Bilal

+0

Ähnliche Fragen finden Sie in [Swift2] (https://stackoverflow.com/questions/32884783/swift-2-how-to-encode-from-ascii-to-hexadecimal) und [Linux] (https://stackoverflow.com/questions/36441684/convert-ascii-to- hex-und-back-in-swift-für-linux) forschung, schau dir das an und probiere es aus. Dann können Sie vermeiden, als doppelt gekennzeichnet zu werden. –

+0

nicht funktioniert.Meine ASCII-Wert ist [85,75], ich bekomme nicht gewünschten Wert – shivadeep

Antwort

0

In Swift 4 können Sie Ihre ascii codiert string, um Daten mit

string.data(using: .ascii) 

Um die Daten zu konvertieren konvertieren hex oder dezimal Sie die folgenden Erweiterungen verwenden können:

extension Data { 

    var hexString: String { 
     return map { String(format: "%02hhx", $0) }.joined() 
    } 

    var decimalString: String { 
     return map { String(format: "%d", $0) }.joined() 
    } 

} 

Ihre Prüfzeichenfolge "UK"

let string = "UK" 

Wertet mit

let hexString = string.data(using: .ascii)!.hexString 

Um

554b 

Und mit

let decimalString = string.data(using: .ascii)!.decimalString 

Um

8575 

Beide Ergebnisse richtig sind, können Sie sie in jeder nachschlagen ASCII-Tabelle.

Verwandte Themen