Преобразование текста из GBK в UTF-8 (string.from_gbk)
Объявление
готовый_текст = string.from_gbk(текст_в_кодировке_GBK)
Параметры
- Текст в кодировке GBK
Строка в кодировке GBK, которую нужно преобразовать в UTF-8.
Возвращаемое значение
- Готовый текст
Строка илиnil: возвращает текст в UTF-8; если из-за ошибки кодировки преобразование невозможно, возвращаетnil.
Описание
Преобразует текст из кодировки GBK в UTF-8.
Если исходная кодировка неверна, функция всё равно преобразует байты по таблице соответствий; возникшая в результате нечитаемая строка не является ошибкой функции.
Для более сложных преобразований кодировок см. luaiconv (библиотека преобразования кодировок).
Примечание: GBK включает кодировку GB2312, поэтому текст GB2312 также преобразуется этой функцией.
Пример
-- Китайская кодировка, стандартная китайская кодировка, расширенная национальная кодировка GB2312
gbkstr = '\x58\x58\x54\x6f\x75\x63\x68\x20\xba\xdc\xc7\xbf'
--
sys.alert(gbkstr) -- Строка в кодировке GBK не отображается
sys.alert(string.from_gbk(gbkstr)) -- Вывод "XXTouch очень мощный"
Примечание: приведённый выше код использует функцию не из этой главы — sys.alert.
Примечание: в исходном коде Lua строка, начинающаяся с \x и содержащая после неё две шестнадцатеричные цифры, обозначает один байт с таким кодом. Например, \x58 обозначает символ X; см. печатаемую часть в статье «Кодировка ASCII».