Во-первых, обратите внимание, что Unicode не является кодировкой. Unicode - это набор символов. Кодирование - UTF-8, UTF-16, UTF-32 и т. Д. Поэтому мы не знаем, какую кодировку вы используете.
В Unicode версия Inno Setup, функция LoadStringsFromFile
по умолчанию использует текущую кодировку Windows Ansi.
Но если файл имеет спецификацию UTF-8 , он будет соответствующим образом обрабатывать содержимое. Спецификация - это общий способ автоматического определения кодировки UTF-8 (и другого UTF- *). Вы можете создать файл в кодировке UTF-8 с помощью спецификации с помощью Windows Notepad.
UTF-16 или другие кодировки не поддерживаются изначально.
Для реализации чтения файла UTF-16 , см. Inno Setup Pascal Script - чтение файла UTF-16 .
Невозможно ответить на этот вопрос, не зная процедуры тестирования, т. Е. Как часто вы создавали объекты mapped_region
, насколько большими были отображенные части и к каким частям из них действительно обращались.
Также неясно, если в вашей реализации объект сопоставления файлов (boost::file_mapping
) также явно открывает дескриптор файла, или файл открывается вами.
Я могу только догадываться, что создание файла и объекта сопоставления в сетевой файловой системе, вероятно, требует большего взаимодействия между компьютерами (для синхронизации).