Добавление строк памятки из текстового файла в Lua

#cmd #lua #wmic

#cmd ( командный ) #lua #wmic #cmd

Вопрос:

Я использую команду cmd для получения информации о моей оперативной памяти с помощью сценария lua:

 cmd = 'wmic MEMORYCHIP get BankLabel, Capacity, DeviceLocator,  MemoryType, TypeDetail, Speed,Tag >'..path..'MyRAMDetail.txt'
os.execute(cmd)
  

Этот код сгенерирует file:MyRamDetail.txt на моем локальном диске. Он содержит текст примерно такого содержания при открытии через блокнот:

 BankLabel  Capacity    DeviceLocator   MemoryType  Speed  Tag                TypeDetail  
BANK 0     8589934592  ChannelA-DIMM0  0           1333   Physical Memory 0  128   
  

Но когда я добавляю весь текст в заметку с помощью сценария Lua или печатаю его, он показывает:

 ??B 
  

Я использую этот скрипт Lua для добавления строк в заметку:

  local open = io.open

 function read_file(fpath)
  local file = open(fpath, "rb")
  if not file then return nil end
  local content = file:read "*a"
  file:close()
  return content
 end

 local path = 'C:\'
 local fileContent = read_file(path..'MyRAMDetail.txt')
 -- print (fileContent) check it
 memo1.Lines.Text = fileContent
  

Как правильно распечатать содержимое файла или добавить весь текст к заметке?

С уважением

Комментарии:

1. wmic выводит по умолчанию в UTF16-ФАЙЛЕ со спецификацией, notepad обрабатывает это должным образом, ваш код — нет.

2. Спасибо за ответ #LotPings. Поскольку Lua обрабатывает строку как utf-8, мне нужно изменить кодовую страницу, используя chcp 65001, и после выполнения моего кода выше затем изменить кодовую страницу на значение по умолчанию (мое значение по умолчанию 850). Я сделал это с os.execute («chcp 65001»).