从Int32
转换为二进制文件的最简单方法是什么?例如:
-1 - > “\ 255 \ 255 \ 255 \ 255”?
编辑: 要使用extlib,请使用yum和toplevel:
进行安装#use "topfind";;
#require "extlib";;
答案 0 :(得分:8)
我建议使用Bitstring来做这种事情。你可以找到它here。
例如,在toplevel:
# #use "topfind";;
# #camlp4o;;
# #require "unix";;
# #require "bitstring.syntax" ;;
# let data = Int32.of_int (-1);;
# let bits = BITSTRING { data: 32 } ;;
然后你可以对bitstring执行各种转换,包括将它写入二进制文件或stdout或字符串:
# Bitstring.string_of_bitstring bits ;;
- : string = "\255\255\255\255"
答案 1 :(得分:3)
使用extlib:
# let io = IO.output_string ();;
val io : string IO.output = <abstr>
# IO.write_i32 io (-1);;
- : unit = ()
# IO.close_out io;;
- : string = "\255\255\255\255"