Swift-将图像数据转换为二进制数

时间:2019-06-12 02:36:37

标签: swift string encoding binary

是否可以拍摄图像并将其数据转换为Binary?

曾经 能够将图像数据转换为 String ,但是我不确定现在如何获取该String并显示其二进制等效项。

为此,如果我输入一个单词-任何单词,例如“ Hello”,我希望该应用显示组成它的5个二进制数字:
-第一个数字是字母“ H”的二进制数字(或二进制代码)
-第二个数字是字母“ e”的二进制数字
-第三个数字是字母“ l”的二进制数字

1 个答案:

答案 0 :(得分:1)

您可以从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

编辑:

要获得8 characters长的binary numbers,您只需append extra 0sstring的开头,即

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"]