Как читать и записывать двоичные числа в и из файлов в компьютерной алгебре Magma - PullRequest
0 голосов
/ 04 ноября 2018

Чтение: Я придумал способ прочитать двоичные файлы как число. Это не красиво, но работает.

function FileRead(F)
    bindata := ReadBinary(F);
    akk := 0;
    for i in [1..#bindata] do
        akk := akk * 2^8 + bindata[i];
    end for;
    return akk;
end function;

printf "%h", FileRead("outfile");

Запись: Единственный способ создания байтовых строк - использование BinaryString, для которого в качестве аргумента требуется строка символов. Но, к сожалению, CodeToString не работает для символа NULL. Так что следующее не работает.

WriteBinary("outfile", BinaryString(CodeToString(0xCA) cat CodeToString(0)): Overwrite:=true); 
...