Jam*_*son 0 java arrays byte swift
我正在尝试在Swift中编写以下Java代码:
private static final byte[] ENCRYPTION_KEY = new byte[] { 'N', 'r', 'q', 'V', '2', 'h', 'V', 'j', 'z', 'D', 'N', 'p', 'V', 'T', '3', 'X' };
private static final byte[] VECTOR = new byte[] { 'f', 'e', 'l', 'c', 'd', 'a', '1', '8', '7', '2', '5', '4', '3', '2', '8', '0' };
Run Code Online (Sandbox Code Playgroud)
如何才能做到这一点?
您可以简单地将这些字符添加到String中,并使用该字符串utf8属性从中初始化一个新的字节数组.结果将是一个UInt8数组[UInt8]
:
let encryptionKey = Array("NrqV2hVjzDNpVT3X".utf8) // [78, 114, 113, 86, 50, 104, 86, 106, 122, 68, 78, 112, 86, 84, 51, 88]
let vector = Array("felcda1872543280".utf8) // [102, 101, 108, 99, 100, 97, 49, 56, 55, 50, 53, 52, 51, 50, 56, 48]
Run Code Online (Sandbox Code Playgroud)
请注意,由于Swift3 Data
也符合RandomAccessCollection
,MutableCollection
并RangeReplaceableCollection
因此你可以简单地使用Data
,而不是Array
:
let encryptionKey = Data("NrqV2hVjzDNpVT3X".utf8) // 16 bytes
let vector = Data("felcda1872543280".utf8) // 16 bytes
encryptionKey[0] // 78
vector[0] // 102
print(Array(encryptionKey)) // "[78, 114, 113, 86, 50, 104, 86, 106, 122, 68, 78, 112, 86, 84, 51, 88]\n"
print(Array(vector)) // "[102, 101, 108, 99, 100, 97, 49, 56, 55, 50, 53, 52, 51, 50, 56, 48]\n"
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
673 次 |
最近记录: |