我想将字符串转换为二进制(0/1表示)并反转。
这是我把字符串转换成二进制的代码。
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)
}
但我不知道该怎么做。如果你能给我一些建议,我将不胜感激。
最佳答案
我想从这样的开始,虽然性能可能并不壮观,因为它涉及到这么多小的中间字符串。
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)