Swift - конвертировать данные изображения в двоичный номер - PullRequest
0 голосов
/ 12 июня 2019

Можно ли взять изображение и преобразовать его данные в двоичный файл?

I был в состоянии преобразовать данные изображения в строку , но я не уверен, как теперь взять эту строку и отобразить ее двоичный эквивалент.

В этом отношении, если я наберу слово - любое слово , например, например "Hello", я бы хотел, чтобы приложение отображало ПЯТЬ двоичных чисел, составляющих его:
- первое число будет двоичным числом (или двоичным кодом) для буквы "H"
- второе число будет двоичным числом для буквы "е"
- третье число будетдвоичное число для буквы "l"

и т. д.

1 Ответ

1 голос
/ 12 июня 2019

Вы можете получить 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"]
...