2
標準以外の長さのビットを読み込んで値を読み込むmatlabスクリプトがあります。例えばPythonで非標準ビット長の整数のバイナリファイルを読む
:
[file, errmsg] = fopen(FileName,'r');
year = fread(file,1,'ubit12','ieee-le');
month = fread(file,1,'ubit4','ieee-le');
day = fread(file,1,'ubit5','ieee-le');
version = fread(file,1,'ubit11','ieee-le');
ロードされた値は、次のとおり
year =2016
month =7
day =21
version =0
ファイルのバイナリバージョンがあるが:
11100000 01110111 00010101 00000000
(Pythonで
'{0:08b}'.format(ord(byte))
を行うことによって取得されるよう)
言い換えれば、
year -> 4 lsb of byte 2 + byte 1 (011111100000)
month -> 4 msb of byte 2 (0111)
day -> 5 lsb of byte 3 (10101)
version -> 3 msb of byte 3 + byte 4 (00000000000)
は、同じ機能を達成するためのニシキヘビ方法はありますか?