2
ファイルの最初の2bytesを "unsigned int"として読みたいと思います。水晶で他のサイズのスライスを読むにはどうすればいいですか?
スレッド 「Crystal reading x bytes from file」 を確認したところ、次のコードで1バイト目を取得できました。
File.open("./test/test_data") do |io|
buffer = Slice(UInt8).new(2)
bytes_read = io.read(buffer)
buffer = buffer[0, bytes_read]
pp buffer
end
しかし、このコードは、私が "1 UInt16型" として、この "2 UINT8" を読むことができますどのように "2 UINT8"
$ crystal test2.cr
buffer # => Slice[0, 6]
を返しますか?
同じことが 'IO番号のread_bytes'(多分もう少し慣用)で行うことができます:' io.read_bytes(UInt16型、IO :: ByteFormat :: littleEndianの) ' – asterite
はあなたのためにありがとうございました両方のクイックアンサー。両方のコードがうまく動作することを確認できました。 – elgoog