Вы можете получить binary data
от String
, как,
let str = "hello"
let data = str.data(using: .utf8)
Если вы хотите получить двоичные данные в форме 0/1, вы можете использовать,
data?.forEach({ print(String($0, radix: 2)) })
Приведенный выше код печатает binary numbers
, соответствующий каждому byte
в data
.
Edit:
Чтобы получить 8 characters
long binary numbers
, вам просто нужно append extra 0s
до начала string
, т.е.
let binaryArr = data?.map({(byte) -> String in
var str = String(byte, radix: 2)
let countToAppend = 8 - str.count
let extraZerosStr = ([String](repeating: "0", count: countToAppend)).joined()
str = extraZerosStr + str
return str
})
print(binaryArr) //for "Hello", it prints ["01001000", "01100101", "01101100", "01101100", "01101111"]