2011-02-02 2 views

ответ

2

Lua строка именно то, что вы написали - строка байт. Lua отличается от C-подобных языков тем, что он является 8-битным чистым, что означает, что вы можете даже хранить встроенные ноль '\ 0' внутри строк - длина строки хранится отдельно и не основана на том, где '\ 0' является.

Вы не писали, где вы хотите, чтобы эти байты (что является источником), поэтому давайте предположим, что вы читаете из файла. В следующем примере f - это дескриптор файла, полученный путем вызова io.open(filename), а t - таблица (t = {}).

local str = f:read(100) -- will read up to 100 bytes from file handle f 
t[#t + 1] = str   -- will append the string to the end of table t 
table.insert(t, str) -- alternative way of achieving the same 
+0

Михал, что было очень полезно ур объяснение спасибо – jprbest

3

Это вы имеете в виду?

s="some string" 
t={s:byte(1,#s)} 
+0

нет Dont хочу, чтобы преобразовать строку я просто хочу, чтобы иметь байты, как, например, «C0020101», чтобы быть в т = {c0,02,01,01} это то, что я имел в виду – jprbest

Смежные вопросы