I have this code
func myfunc(data: Data, offset: Int) {
// read two bytes to "length" variable
let length = data.withUnsafeBytes { rawBuffer in
rawBuffer.load(fromByteOffset: offset, as: Int16.self).bigEndian
}
offset += length
// then I want to read "length" bytes to the "value" variable
// length can be 10 or 20 or 30 or 100.
// how can I read 10 or 100 bytes from Data?
let value = data.withUnsafeBytes { rawBuffer in
rawBuffer.load(fromByteOffset: offset, as: XXX.self)
}
}
I know in golang I can do this
key := make([]byte, length)
binary.Read(reader, binary.BigEndian, &key)
yes, I'm kinda doing something stupid coverting golang to swift.