В языке Lua, когда я хочу получить длину одной арабской буквы (например, "ف"
), ответ будет 2
!
Исх.
local letter = "ف"
print( letter:len() )
Выход: 2
Такая же проблема возникает, когда я использую (string.sub(a,b))
. Если я хочу напечатать первую букву арабского слова, я не могу сказать (string.sub(1,1)
.
Ex.
local word_1 = "فولت"
print( word_1:sub(1,2) )
Выход: ف
как вы видели, я вернул второй аргумент (2), а не (1), чтобы получить правильный ответ.
если я поставлю первый аргумент 1, ответ будет следующим:
print( word_1:sub(1,1) )
Выход: Ù
Почему Lua подсчитывает длину одной арабской буквы как две?
И есть ли способ получить нужную длину, которая равна 1?