如何将0/1的二进制表示形式的字符串转换为字符串?

时间:2018-12-22 05:41:08

标签: swift string binary radix

我想将String转换为二进制(0/1表示形式)并反转。

这是我的将String转换为二进制的代码。

let String_Data: String = UI_Data.text!
let Binary_Data: Data? = String_Data.data(using: .utf8, allowLossyConversion: false)!
let String_Binary_Data = Binary_Data?.reduce("") { (acc, byte) -> String in
        acc + String(byte, radix: 2)
    }

但是我不知道该怎么做。如果能给我建议,我将不胜感激。

1 个答案:

答案 0 :(得分:1)

我将从这样的事情开始,尽管性能可能并不出色,因为它涉及到许多小的中间字符串。

import Foundation

extension UInt8 {
    var binaryString: String {
        return String(repeating: "0", count: self.leadingZeroBitCount) + String(self, radix: 2)
    }
}

extension Data {
    var binaryString: String {
        return self.map { $0.binaryString }.joined()
    }
}

let exampleString = "abcdefghijklmnopqrstuvwxyz"
let exampleData = exampleString.data(using: .utf8)!
print(exampleData.binaryString)