Как читать и записывать двоичные числа в и из файлов в компьютерной алгебре Magma
Чтение: я нашел способ читать двоичные файлы как число. Это не красиво, но работает.
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);