Skif_off
Gold Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Alex_Qwerty Спасибо за таблицу, как-то не пришло в голову, сделал проще (или нет), без tonumber, забил всё в таблицу Код: local function f4u2a(s) local u2a = {["\\u0410"]="А", ["\\u0411"]="Б", ["\\u0412"]="В", ["\\u0413"]="Г", ["\\u0414"]="Д", ["\\u0415"]="Е", ["\\u0416"]="Ж", ["\\u0417"]="З", ["\\u0418"]="И", ["\\u0419"]="Й", ["\\u041a"]="К", ["\\u041b"]="Л", ["\\u041c"]="М", ["\\u041d"]="Н", ["\\u041e"]="О", ["\\u041f"]="П", ["\\u0420"]="Р", ["\\u0421"]="С", ["\\u0422"]="Т", ["\\u0423"]="У", ["\\u0424"]="Ф", ["\\u0425"]="Х", ["\\u0426"]="Ц", ["\\u0427"]="Ч", ["\\u0428"]="Ш", ["\\u0429"]="Щ", ["\\u042a"]="Ъ", ["\\u042b"]="Ы", ["\\u042c"]="Ь", ["\\u042d"]="Э", ["\\u042e"]="Ю", ["\\u042f"]="Я", ["\\u0430"]="а", ["\\u0431"]="б", ["\\u0432"]="в", ["\\u0433"]="г", ["\\u0434"]="д", ["\\u0435"]="е", ["\\u0436"]="ж", ["\\u0437"]="з", ["\\u0438"]="и", ["\\u0439"]="й", ["\\u043a"]="к", ["\\u043b"]="л", ["\\u043c"]="м", ["\\u043d"]="н", ["\\u043e"]="о", ["\\u043f"]="п", ["\\u0440"]="р", ["\\u0441"]="с", ["\\u0442"]="т", ["\\u0443"]="у", ["\\u0444"]="ф", ["\\u0445"]="х", ["\\u0446"]="ц", ["\\u0447"]="ч", ["\\u0448"]="ш", ["\\u0449"]="щ", ["\\u044a"]="ъ", ["\\u044b"]="ы", ["\\u044c"]="ь", ["\\u044d"]="э", ["\\u044e"]="ю", ["\\u044f"]="я", ["\\u0401"]="Ё", ["\\u0451"]="ё"} for key, val in pairs(u2a) do s = string.gsub(s, key, val); end return s; end | чтобы не зависеть от локали при получении букв из ASCII-кода. Наверное, придётся её расширить, нашёл такую страничку, по идее можно регэкспами (или Calc+регэкспы) загнать в таблицу. Тут ещё наткнулся на строку "телефон/zusätzliche" в виде \x442\x435\x43b\x435\x444\x43e\x43d/zus\xe4tzliche. Можно пройтись заменами "\x" на "\u", только пока не понял, как добавить нолей до четырёх значащих цифр и вообще, начинает казаться, что не по Сеньке шапка... zedxxx Спасибо, нагуглил библиотеку с Makefile под Linux, но пока не пробовал. А что нужно подставлять в icu.convert в моём случае? Всю строку не получится, ведь в ней каша: первые 128 символов идут как есть. P.S. Это всё делается пытаюсь сделать для плагина GeanyLua, иногда есть необходимость ручками залезть в файлы конфигурации. |