Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

UoKit.com Форумы _ UO Pilot _ Чтение файла в кодировке utf8

Автор: cirus 20.3.2020, 15:08

Архив распаковать в папку с пилотом Прикрепленный файл  LuaPlugins.zip ( 322,21 килобайт ) Кол-во скачиваний: 213

Версия пилота 2.41.

Код
--lua
package.path = "LuaPlugins\\winapi\\?.lua;" .. package.path
package.path = "LuaPlugins\\?.lua;" .. package.path
setfenv(1, require'winapi')
require'utf8'

log "clear"  log "mode compact"
local text = readfile([[C:\123.txt]])   -- прочитать файл
if text then   -- если прочитан
    log(text)  -- содержимое файла
end

-- если читать так, то вместо русских символов будут кракозябры
local f = io.open([[C:\123.txt]], "rb")
if f then
    local s = f:read("*a")     -- прочитать файл
    f:close()
    log(s)    -- содержимое файла
end

Автор: FREEON 20.3.2020, 20:00

Цитата(cirus @ 20.3.2020, 15:08) *

Архив распаковать в папку с пилотом

Это папка LuaPlugins должна быть в папке с exe пилота? или utf8.lua и папка winapi рядом с экзэшником?

Еще вопрос, это просто сбросил плагин в папку с пилотом и забыл про крокозябры или что бы правильно отрабатывал, нужно что-то прописывать в вкладке скрипта? Извиняюсь сразу, чо кажутся вопросы глупыми, но можно было бы описать в трех словах, как применять, пример там какой или объяснить на пальцах smile.gif

Автор: cirus 21.3.2020, 1:36

Цитата
Это папка LuaPlugins должна быть в папке с exe пилота? или utf8.lua и папка winapi рядом с экзэшником?

Папка LuaPlugins рядом с exe пилота, а в ней всё что надо.
Цитата
это просто сбросил плагин в папку с пилотом и забыл про крокозябры

Да. Если файл в ansi, то просто прочитает его. Если в utf8 или uft8 с bom, то содержимое файла будет конвертировано сначала в utf16, потом в ansi.
Цитата
как применять

Это уж кому как надо.
Если читать файл в utf8 стандартным io.read, то вместо такой строки:
Цитата
qwerty 123 йцукен

будет такая:
Цитата
qwerty 123 йцукен
или
qwerty 123 йцукен

Автор: FREEON 21.3.2020, 9:46

Цитата(cirus @ 21.3.2020, 1:36) *

Папка LuaPlugins рядом с exe пилота, а в ней всё что надо.

Да. Если файл в ansi, то просто прочитает его. Если в utf8 или uft8 с bom, то содержимое файла будет конвертировано сначала в utf16, потом в ansi.

Это уж кому как надо.
Если читать файл в utf8 стандартным io.read, то вместо такой строки:

будет такая:

Все прыняу поняу закрэпиу. Нужная вешч в хозяйстве.

Русская версия Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)