КодировкаИменФайловВZipФайле.КодировкаОСДополнительноUTF8

Свойства · OSEncodingWithUTF8

Имена файлов внутри ZIP-архива будут записаны в двух кодировках: текущая кодировка операционной системы и UTF8.

Полное описание, параметры и ограничения

КодировкаИменФайловВZipФайле.КодировкаОСДополнительноUTF8 (FileNamesEncodingInZipFile.OSEncodingWithUTF8)

КодировкаИменФайловВZipФайле (FileNamesEncodingInZipFile)

КодировкаОСДополнительноUTF8 (OSEncodingWithUTF8)

Не рекомендуется использовать, начиная с версии 8.3.26.

Рекомендуется использовать:

КодировкаОСДополнительноUTF8

Доступен, начиная с версии 8.3.9.

Описание:
Имена файлов внутри ZIP-архива будут записаны в двух кодировках: текущая кодировка операционной системы и UTF8.
Использование в версии:

Доступен, начиная с версии 8.3.9.

Не рекомендуется использовать, начиная с версии 8.3.26.

Методическая информация

Практические примеры

Создать учебный ZIP: КодировкаИменФайловВZipФайле.КодировкаОСДополнительноUTF8

Имена файлов внутри ZIP-архива будут записаны в двух кодировках: текущая кодировка операционной системы и UTF8. Значение применяется к конкретной операции из примера.

Где и как запускать

Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.

Подготовка

  1. Пример запускается на сервере учебной базы под учётной записью с доступом к собственному каталогу C:\Temp\LearnZip\src. Это путь сервера 1С, не компьютера тонкого клиента.

  2. Вручную создайте там файл book.txt с несколькими строками учебного текста и подкаталог sub с файлом note.txt. Имена должны быть латинскими; секретов и рабочих документов в каталоге быть не должно.

  3. Код создаёт новый ZIP по уникальному временному имени и показывает его путь. Ранее существовавший архив не перезаписывается. После опыта удалите только созданные учебные файлы вручную.

КаталогИсточника = "C:\Temp\LearnZip\src";
ИмяАрхива = ПолучитьИмяВременногоФайла("zip");
Пароль = "";
Архив = Новый ЗаписьZipФайла(ИмяАрхива, Пароль, "Учебный архив",
    МетодСжатияZIP.Сжатие, УровеньСжатияZIP.Оптимальный,
    МетодШифрованияZIP.Zip20, КодировкаИменФайловВZipФайле.КодировкаОСДополнительноUTF8);
Архив.Добавить(КаталогИсточника + "\*.txt",
    РежимСохраненияПутейZIP.СохранятьОтносительныеПути, РежимОбработкиПодкаталоговZIP.ОбрабатыватьРекурсивно);
Архив.Записать();
Чтение = Новый ЧтениеZipФайла(ИмяАрхива, Пароль);
Для Каждого Элемент Из Чтение.Элементы Цикл
    Сообщить(Элемент.ПолноеИмя + ": " + Строка(Элемент.РазмерНесжатого));
КонецЦикла;
Чтение.Закрыть();
Сообщить("Создан архив: " + ИмяАрхива);

Разбор по шагам

  1. Исходные файлы создаются вручную в отдельном каталоге; архив получает новое временное имя.

  2. Выбранное перечисление передаётся в соответствующий аргумент конструктора или метода.

  3. Записать завершает архив; чтение показывает реальные имена и размеры, затем закрывается.

Как проверить результат

  1. В списке элементов показаны book.txt и sub\note.txt без повреждения имён.

  2. Для Авто кодировка определяется настройками платформы; UTF8 задаётся явно. Латинские имена одинаково читаются во всех показанных режимах.

Ожидаемый результат

Учебный архив создан с явно выбранным режимом.

На что обратить внимание

  1. Пароль в коде предназначен только для демонстрации; это не настоящий секрет.

  2. Распаковка непроверенного внешнего архива не входит в этот пример.

Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.

Не хотите разбираться сами?

Адаптируем это решение под вашу базу. Оценка бесплатно.

Оставить задачу

1С, 1С:Предприятие — товарные знаки ООО «1С». Сайт не является официальным представительством фирмы «1С» и не аффилирован с ней.