2017-04-20 16 views
1

私はバイナリファイルを持っており、その内容をluaで読みたいと思います。私は、4バイトで表現された浮動小数点数が含まれていることを知っています。だから私はファイルを開き、t=file:read(4)を行う。今では数値の非バイナリ表現を出力したいのですが、print(t)を実行すると、x98xC1x86のようなsthしか得られません。私は何をすべきか?luaのバイナリファイルから読み込んだ数値を表示するには?

答えて

3

あなたはLuaの5.3を実行している場合、このコードを試してみてください。

t=file:read(4) 
t=string.unpack(t,"f") 
print(t) 

ライブラリ関数string.unpackはLuaのタイプにバイナリデータを変換します。

+0

私はこれをlua 5.2に付属しているトーチで使用しています。だから、何か別の選択肢がありますか? – Controller

+0

[Robertos struct library](http://www.inf.puc-rio.br/~roberto/struct/)を使用して、古いバージョンのLuaで同じ機能を利用できます。 –

+0

私自身の[lpack](http://webserver2.tecgraf.puc-rio.br/~lhf/ftp/lua/index.html#lpack)。 – lhf

関連する問題