Неверная кодировка при распаковке zip архива - Visual Basic .NET

Узнай цену своей работы

Формулировка задачи:

для распаковки решил воспользоваться не стандартной библиотекой, а библиотекой DotNetZip (Ionic.Zip), но при распаковки архива имена файлов в архиве, которые записаны русскими буквами распаковываются иероглифами. возможно ли как-нибудь поменять кодировку что ли, что бы распаковывалось все ровно так, как именовано в архиве? пример своего кода и скрин файлов в архиве до распаковки и после распаковки прилагаю. заранее спасибо за помощь!!!
Листинг программы
  1. Imports Ionic.Zip
  2. Public Class Form1
  3. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
  4. Dim zip2 = TextBox1.Text
  5. Dim unzip2 = TextBox2.Text
  6. MyExtract(zip2, unzip2)
  7. End Sub
  8. Public Sub MyExtract(ByVal ZipToUnpack As String, ByVal UnpackDirectory As String)
  9. Using zip As ZipFile = ZipFile.Read(ZipToUnpack)
  10. Dim e As ZipEntry
  11. For Each e In zip
  12. e.Extract(UnpackDirectory, ExtractExistingFileAction.OverwriteSilently)
  13. Next
  14. End Using
  15. End Sub
  16. End Class

Решение задачи: «Неверная кодировка при распаковке zip архива»

textual
Листинг программы
  1. Public Sub MyExtract(ByVal ZipToUnpack As String, ByVal UnpackDirectory As String)
  2.     Dim ro As New ReadOptions
  3.     ro.Encoding = Encoding.GetEncoding(866)
  4.     Using zip As ZipFile = ZipFile.Read(ZipToUnpack, ro)
  5.         Dim e As ZipEntry
  6.         For Each e In zip
  7.             e.Extract(UnpackDirectory, ExtractExistingFileAction.OverwriteSilently)
  8.         Next
  9.     End Using
  10. End Sub

ИИ поможет Вам:


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

Оцени полезность:

12   голосов , оценка 4.333 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы