Padrão equivalente a “[\ 0- \ x7F \ xC2- \ xF4] [\ x80- \ xBF] *” em Lua 5.1

Quandorespondendo a esta pergunta, Escrevi este código para iterar sobre a sequência de bytes UTF-8 em uma string:

local str = "KORYTNAČKA"
for c in str:gmatch("[\0-\x7F\xC2-\xF4][\x80-\xBF]*") do 
    print(c) 
end

Ele funciona no Lua 5.2, mas no Lua 5.1, ele relata um erro:

padrão malformado (ausente ']')

Lembro-me de Lua 5.1, a string literal\xhh não é suportado, então eu o modifiquei para:

local str = "KORYTNAČKA"
for c in str:gmatch("[\0-\127\194-\244][\128-\191]*") do 
    print(c) 
end

Mas o erro permanece o mesmo, como corrigi-lo?

questionAnswers(2)

yourAnswerToTheQuestion