3

Lua で文字列をバイナリに書き込む際に問題が発生しています。既存の例があり、それを変更してみました。見てみましょう:

function StringToBinary()
  local file = io.open("file.bin", "wb")
  local t = {}
  local u = {}
  local str = "Hello World" 
  file:write("string len = " ..#str ..'\n')
  math.randomseed(os.time())
  for i=1, #str do
    t[i] =  string.byte(str[i])
    file:write(t[i].." ");   
  end  
  file:write("\n")
  for i=1, #str do 
    u[i] = math.random(0,255) 
    file:write(u[i].." ");
  end
  file:write("\n"..string.char(unpack(t)))
  file:write("\n"..string.char(unpack(u)))
  file:close()
end

file:write(t[i].." ")file:write(u[i].." ")両方のテーブルに整数値を書き込みます。ただし、最後の 2 つの書き込みでunpack(t)は、元のテキストをunpack(u)表示し、バイナリを表示します。

それはきっとstring.byte(str[i])間違っている。何と交換すればよいですか?何か不足していますか?

4

1 に答える 1