各要素として 2 進数または 16 進数の値が格納されている配列を 64 ビットの Double Mac Absolute Time に変換することはできますか? p var_bytes
コンソールを使用してアレイを検査すると、次の出力が表示されます。
\000\000\000\000\000\000\000\000\000\000\000\234\225x\266A\000\000\000\345\005\230\264
上記の配列要素を 64bit Double Mac Absolute Time の文字列として変換することは可能ですか?
私のコードは単純なものに従っていますdo..end
puts "\nClose off the page header#{y.unpack("n")}\n"
z.scan(/(.{8})(.{8})(.{4})(.{4})(.{4})(.{4})(.{8})(.{8})(.{8})(.*\w)/m).each do |j,k,l,m,n,o,p,q,r,s|
puts "\nContent1#{j.unpack("n")}\n"
puts "\nContent2:#{k.unpack("n")}\n"
puts "\nContent3:#{l.unpack("n")}\n"
puts "\nContent4:#{m.unpack("n")}\n"
puts "\nContent5:#{n.unpack("n")}\n"
puts "\nContent6:#{o.unpack("n")}\n"
puts "\nContent7:#{p.unpack("n")}\n"
expdt = Time.at((q.unpack("L"))[0])
createdt = Time.at((r.unpack("L"))[0])
puts "Date1:\n#{expdt}\n"
puts "\nDate2:\n#{createdt}\n"
puts "\nCookie:\n"
puts s.split(/\0/m)
end
end
この負の値を正の値に変換して、Time.at でエラーが発生せず、MAC エポック時間に従って変換する簡単な方法は何でしょうか?