Я новичок в Lua, я пишу файл hdF5 с помощью python и кодирую строку следующим кодом:
#guess image_name is the string
imgname = np.zeros(len(image_name))
for i in range(len(image_name)):
imgname[i] = ord(image_name[i])
и я загружаю закодированный imgname в Lua с помощью ffi.string следующим образом:
image_name = ffi.string(img_name:char():data()
но я получил ошибку: fb15268637bc28e2175502f1a3bec6fb.jpg���7��R�, я погуглил эту ошибку, но нашел ответы, я был с python2.7 и LuaJIT.
Заранее спасибо!
Это потому, что ваша строка не заканчивается нулем. Для строк, не оканчивающихся нулем, следует указать второй аргумент для ffi.string, он должен быть равен длине строки. Правильная длина поможет ffi.string отрезать мусор с конца струны.






Вы кодируете свою строку в массиве двойников? Как вы пишете и читаете HDF5?