2
你好我是swift新手,想將字節數組轉換爲多個整數。在Java中我已經寫工作代碼,但我不太清楚如何把它帶到迅速Swift將字節數組轉換爲整數
byte[] codeData = Base64.decode(codeDataBase64, 0);
ByteArrayInputStream bais = new ByteArrayInputStream(codeData);
DataInputStream dis = new DataInputStream(bais);
byte version = dis.readByte();
if (version == 1) {
int anID = dis.readInt();
int anotherID = dis.readInt();
byte[] TK = new byte[512];
int readTK = dis.read(TK);
if (readTK == TK.length) {
Log.e("photoConnect success", "anID=" + anID + ", anotherID=" + anotherID + ", TK.length=" + TK.length);
這是我在斯威夫特迄今:
func base64ToByteArray(base64String: String) -> [UInt8]? {
if let nsdata = NSData(base64Encoded: base64String) {
var bytes = [UInt8](repeating: 0, count: nsdata.length)
nsdata.getBytes(&bytes, length: nsdata.length)
return bytes
}
return nil // Invalid input
}
此功能需要一個數組的字節,但我不確定用什麼Swift類模仿DataInputStream在Java中的行爲。
@HovercraftFullOfEels請參閱我的更新問題,其中包括我的嘗試和現在卡在哪裏。如果我的第一個問題不夠具體,我很抱歉。如果你能指出我正確的方向,我會非常感激。 – Alec
這可能會有所幫助:https://stackoverflow.com/questions/38060682/idiomatic-method-of-parsing-swift3-data-streams。 –