Я пытаюсь передать массив байтов от C до lua. Если передать его как строку, я не могу передавать массивы, содержащие «0x00» (потому что он интерпретируется как конец строки). Вот что я писал до сих пор:Передача байтового массива от C до Lua
C:
uchar hash[32];
memset(hash, 0, 32);
sha256_final(ctx, hash);
lua_pushstring(L, (const char*)hash);
return 1;
Lua:
local hash_str = shaFunctions.final(ctx)
local hash = {}
hash_str:gsub(".",function(c) table.insert(hash,string.byte(c)) end)
Есть ли лучший способ для передачи массива байтов от С до Lua? Thanks
Использование 'lua_pushlstring' –