2016-10-20 3 views
2

Gibt es eine Möglichkeit, eine Zeichenfolge in Swift binär zu konvertieren?Konvertiere einen String in binary in swift?

Gefunden this link auf SO aber es verarbeitet nur Konvertieren von Dezimalzahlen. Ich versuche auch Sonderzeichen und Buchstaben zu konvertieren.

Es wurde versucht, ein Array bekannter ASCII-Zeichen zu erstellen und zu vergleichen (funktionierte für Buchstaben), aber es gab Probleme beim Vergleichen der Sonderzeichen.

Wertschätzung Ihrer Antworten.

+0

ich einen String nach unten in 1 ist und Nullen egal brechen wollen, was Die Zeichenfolge enthält. Dann von dort werde ich auf Phase 2 ... – AMAN77

Antwort

6

Verwenden func data(using encoding: String.Encoding, allowLossyConversion: Bool = default) -> Data?

Beispiel:

Swift 3

let string = "The string" 
let binaryData: Data? = string.data(using: .utf8, allowLossyConversion: false) 

EDIT: Oder warten Sie, tun Sie binäre Darstellung von Daten oder eine Kette von 0/1 benötigen?

EDIT: Für Kette von 0/1 Verwendung so etwas wie:

let stringOf01 = binaryData?.reduce("") { (acc, byte) -> String in 
    acc + String(byte, radix: 2) 
} 

EDIT: Swift 2

let binaryData = str.dataUsingEncoding(NSUTF8StringEncoding, allowLossyConversion: false) 
+0

Ja versuchte, 0101010 irgendwie Stil – AMAN77

+0

Das funktioniert gut für swift3 danke :), aus dem öffentlichen Interesse wissen Sie vielleicht, wie es in Swift2 getan hätte auch? – AMAN77

+0

@ AMAN77, 'Daten -> NSData',' .data (using: ... -> .dataUsing (... ', nur Rollback-Namen. – user28434

Verwandte Themen