Julia-lang - 如何按顺序写入文件

时间:2017-08-31 01:52:20

标签: julia

例如,如果我这样做(在朱莉娅): "parent" | "another" | "child"f = open("out", "w"); write(f, 0x424d); close(f)的输出结果为:xxd out 为什么不按顺序? (00000000: 4d42 MB

1 个答案:

答案 0 :(得分:2)

基本上,Mateen Ulhaq指出这是一个字节序问题。以下内容可能会帮助您强制处理文件的字节序:

function dump_bytes(f,v)
  foreach(b->write(f,b),[unsafe_load(reinterpret(Ptr{UInt8},
    pointer_from_objref(v)),i) for i=1:sizeof(v)])
  return nothing
end

f = open("out","w")
dump_bytes(f,0x1234)
close(f)

反过来说,即强制处理器上文件的字节顺序,你可以像{Mateen的评论建议的那样reinterpret(Int16, read(f))