是否可以拍摄图像并将其数据转换为Binary?
我 曾经 能够将图像数据转换为 String ,但是我不确定现在如何获取该String并显示其二进制等效项。
为此,如果我输入一个单词-任何单词,例如“ Hello”,我希望该应用显示组成它的5个二进制数字:
-第一个数字是字母“ H”的二进制数字(或二进制代码)
-第二个数字是字母“ e”的二进制数字
-第三个数字是字母“ l”的二进制数字
等
答案 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 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"]