如何提取具有非 Unicode 非拉丁文件名的 Zip 文件?

2024-03-25

有时,您收到的 Zip 文件中的文件或目录的名称中包含一些无法识别的字符,因此您无法提取它们。您使用什么工具将它们提取为正确转换的文件名?


我在网上搜索但未能找到好的脚本。所以出于必要我自己写了一个Python脚本。希望它对某人有用。

欢迎提出任何建议,特别是如果您知道这在某些特殊情况下不起作用。请不要选择不整洁的编码风格。

import os,sys,zipfile

x, fn = sys.argv
enc = 'utf-8'

zipf = zipfile.ZipFile(fn)
for x in zipf.infolist():
    fn = x.filename
    fne = fn.encode(enc)
    if os.sep in fne:
        path = fne[:fne.rindex(os.sep)]
        if not os.path.exists(path): os.makedirs(path)
    if fne.endswith(os.sep): continue
    f = open(fne,'wb')
    f.write(zipf.open(fn).read())
    f.close()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何提取具有非 Unicode 非拉丁文件名的 Zip 文件? 的相关文章

  • 确定文件是否是 zip 存档内的目录

    我根据规范读取 zip 文件 并从中央目录获取每个文件的信息 从标题中我读到 define VERSION NEEDED OFSSET 6 UINT16 versionNeeded UINT16 zipFile VERSION NEEDED
  • Python:UnicodeDecodeError:“utf8”编解码器无法解码字节

    我正在将一堆 RTF 文件读入 python 字符串中 在某些文本上 我收到此错误 Traceback most recent call last File 11 08 py line 47 in
  • CDO.消息编码问题

    我们目前正在将邮件递送系统更改为仅使用UTF 8 发件人姓名似乎有问题 当电子邮件包含非 ASCII 字符 希伯来语 时 主题和正文呈现正常 但发件人姓名 如出现在我的 gmail 帐户中 变为 有一行代码 myMail BodyPart
  • 将数字字符引用符号转换为 unicode 字符串

    是否有一个标准的 最好是 Pythonic 的方法来转换 xxxx 正确的 unicode 字符串的表示法 例如 1502 1508 1490 1513 1497 应转换为 使用字符串操作可以很容易地完成它 但我想知道是否有一个标准库可以实
  • 是否可以使用 Flutter / Dart 创建受密码保护的 ZIP 文件?

    我想创建一个受密码保护的 ZIP 文件 以前有人这样做过吗 你能给我一些建议吗 我在 pub dev 上找不到合理的包 Plugin archive https pub dev packages archive https pub dev
  • 从 AppleScript 路径中提取文件扩展名

    我正在编写一个 Apple 脚本 最终将为 EyeTV 的所有 iTunes 导出标记广告 但我遇到了 AppleScript 路径的一个简单问题 EyeTV 应用程序将其返回为录制位置 这是上下文 set recordingID to 3
  • 编码java Cookie值

    应如何对 Java Cookie 对象的实际值进行编码 我无法传递 等字符或 US ASCII 之外的任何字符 Br 乔因斯 如何并不重要 但通常Base64 http en wikipedia org wiki Base64应该可以正常工
  • 将文件编码为 Base 64 Nodejs

    我使用下面的代码将文件编码为 Base64 var bitmap fs readFileSync file return new Buffer bitmap toString base64 我认为在文件中我们有问题 and 字符 但它很好
  • 如何在PHP中设置文本文件编码?

    如何在 PHP 中设置文本文件编码 例如 UTF 8 让我告诉你我的问题 这是我的代码 Output fwrite 具有类似的输出 但是当我创建test txt通过记事本并设置字符集UTF 8输出就是我想要的 我想在 PHP 文件中设置字符
  • 是否有将二进制数据打包成 UTF-16 字符串的标准技术?

    在 NET中 我有任意二进制数据存储在byte 例如图像 现在 我需要将该数据存储在string 旧 API 的 注释 字段 有没有标准技术packing将此二进制数据转换为string 我所说的 打包 是指对于任何相当大且随机的数据集 字
  • 如何让 XSLT 在 Java 中返回 UTF-8

    我正在尝试让我的 XSL 脚本使用 UTF 8 编码 像 和希腊字符这样的字符就像垃圾一样出现 让它工作的唯一方法是将结果写入文件 如果我将它写入输出流 它只会返回垃圾 System out 有效 但这可能是因为它被重定向到文件 结果需要从
  • 适用于 iOS 的最佳存档器库 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在寻找一个可在我的 iOS 应用程序中使用的存档器库 zip 或其他格式 就以下方面而言 最好的图书
  • 如何在android中直接从.zip文件读取文件而不解压它

    过去几个月我一直在研究 android 现在我的问题是读取放在 sdcard 上的 zip 文件 我已经成功完成了将 zip 文件下载到 SD 卡上的编码 我已将 img zip 文件下载到 SD 卡上 此 img zip 包含 5 个图像
  • 提取 zip 文件时 Parallel.ForEach 抛出异常

    我正在阅读 zip 文件的内容并尝试提取它们 var allZipEntries ZipFile Open zipFileFullPath ZipArchiveMode Read Entries 现在 如果我提取使用 Foreach 循环
  • php_zip 在 php 5.3.5 中不存在

    我正在使用 PHPExcel 要求之一是我需要启用 php zip 如果您需要 PHPExcel 来处理 xlsx 或 ods 文件 您将需要 邮政编码扩展名 我正在使用 PHP v5 3 5 并在我的php ini文件中 我有以下几行 e
  • 在 C# .NET 中对非 ASCII 字符进行编码

    我想向我的应用程序发送的电子邮件添加自定义标头 标头名称只能包含 ASCII 字符 但对于值和用户可能会输入 UTF 8 字符 我必须对它们进行 Base64 编码 此外 我还必须将它们解码回 UTF 8 以便在 UI 中向用户显示它们 最
  • 如何使用 pytorch 同时迭代两个数据加载器?

    我正在尝试实现一个接收两张图像的暹罗网络 我加载这些图像并创建两个单独的数据加载器 在我的循环中 我想同时遍历两个数据加载器 以便我可以在两个图像上训练网络 for i data in enumerate zip dataloaders1
  • Encoding.RegisterProvider(CodePagesEncodingProvider.Instance) 不添加额外的编码提供程序

    我正在开发一个netcoreapp2 0控制台应用程序 我需要从 NET 访问整个编码包 我已经添加了System Text Encoding CodePages Version 4 4 0Nuget 包来自这一页 https www nu
  • 定义Python源代码编码的正确方法

    PEP 263 http www python org dev peps pep 0263 定义如何声明Python源代码编码 通常 Python 文件的前两行应以以下内容开头 usr bin python coding
  • ruby 中的 #encode 和 #force_encoding 有什么区别?

    我真的不明白之间的区别 encode and force encoding在 Ruby 中String班级 我明白那个 kam force encoding UTF 8 将迫使 kam 是UTF 8编码 但是怎么样 encode encod

随机推荐

  • Amazon S3 避免覆盖同名的对象

    如果我将文件上传到 S3 其文件名与存储桶中对象的文件名相同 则会覆盖该文件 有哪些选项可以避免覆盖具有相同文件名的文件 我在存储桶中启用了版本控制 认为这可以解决问题 但对象仍然被覆盖 我上面的评论不起作用 我以为WRITEACL 也适用
  • 如何从标准输入读取输入并强制编码?

    目标是不断地阅读stdin并强制执行utf8在Python2和Python3中 我尝试过以下解决方案 以与 python2 和 python3 兼容的方式将字节写入标准输出 https stackoverflow com questions
  • ER_CON_COUNT_ERROR:node-mysql 中连接过多错误

    我是节点初学者 以下是我尝试使用 Node mysql 执行的代码 但它一直给我这个错误 error connecting Error ER CON COUNT ERROR Too many connections CODE var siz
  • 在服务器上找不到 Git LFS 文件

    我们一直在使用 Git 和由我们自己的 Gitlab 实例托管的 git lfs 有时 当某个特定用户推送文件时 其中一些文件 似乎是 png 文件 不会进入 LFS 存储 而是添加到 git 中 当这种情况发生在他们的机器上时 我还无法看
  • 在 http 请求中使用 `retryWhen`

    我已经延长了Http类来设置默认标头并处理 angular2 应用程序内所有请求的错误 我想使用retryWhen 对某些错误重试请求 哪些错误应该retryWhen重试请求以及出现哪些错误时应停止 Injectable export cl
  • java中内部类和局部内部类有什么区别?

    如果一个类是本地内部类 这是否意味着它位于另一个类的方法内部 或者是否意味着它只是在某个地方的另一个方法中定义 例如 在下面的代码中 MenuListener 是否被视为内部本地类 import java awt import java a
  • iOS:是否可以同时从耳机和扬声器发送音频?

    我们希望从耳机插孔发送一些串行数据 但仍然希望能够从扬声器播放音频 是否可以将输出发送到两者 如果是这样 是否可以向每个发送不同的音频 据我所知还没有 您可以获得有关路由何时更改 即当有人连接耳机线时 的编程通知 但您无法指定用于输出的设备
  • 我想对 dict 进行子类化并设置默认值

    我需要创建一个特殊的 dict 子类 在其中我想为一组键设置默认值 我似乎无法找到执行此操作的正确语法 这是我一直在尝试的 class NewDict dict Key1 stuff Key2 Other stuff NoList Nada
  • 从GridView中获取特定列的总计值

    Him 我正在使用 ASP NET VB NET 和 SQL Server 2012 我有一个 GridView 列 其中包含 3 个字段和 1 个模板字段 如下所示
  • 如何使用自制程序安装 Elasticsearch 5.3.1

    我之前已经使用自制软件在我的 Mac 上安装了 elasticsearch 5 3 1 homebrew 上最新的 elasticsearch 现在是 5 5 0 因此任何运行brew 安装的新团队成员都会选择该版本 我注意到从 elast
  • 根据容器大小进行字体缩放

    我很难理解字体缩放 我目前有一个带有正文的网站font size100 100 但什么 这似乎是按 16 像素计算的 我的印象是 100 在某种程度上指的是浏览器窗口的大小 但显然不是 因为无论窗口大小调整为移动宽度还是成熟的宽屏桌面 它始
  • UITableview 的图像滚动速度非常慢

    我有一个 UITableView 它从服务器下载其表格视图单元格图像 我观察到表格滚动非常慢 我认为这可能是由于下载造成的 但我意识到下载完成后表格仍然滚动缓慢 并且图像图标大小非常小 代码 UITableViewCell tableVie
  • 设置MessageBox的位置?

    我想使用 MessageBox 或类似的 打印一条消息 我还想控制该框在屏幕上的确切位置 但在 MessageBox 的描述中找不到任何允许您控制该位置的内容 我错过了什么 如果无法使用MessageBox 那么有没有替代方案 由于过于复杂
  • 检测点击了哪个提交按钮

    我知道这个问题听起来很像其他问题 但我发誓我在任何地方都找不到正确的解决方案 我有一个具有多个提交按钮的旧表单 如果单击其中一个 我需要进行一些客户端验证并可能停止提交 如果单击另一个 我不需要进行此验证 我发现如果我创建一个 submit
  • 如何借助 XSLT 转义 XML 字符?

    我需要仅借助 XSLT 转换从 XML 节点内部取消转义 XML 字符 我有
  • 字符串是否匹配 glob 模式

    我有一系列路径 比方说 Users alansouza workspace project src js components chart Graph js 另外 我在配置文件中有一个条目 其中包含通配符 glob 格式的该路径的附加属性
  • Azure Databricks:访问防火墙后面的 Blob 存储

    我正在从 Azure Databricks 笔记本读取 Azure Blob 存储帐户 第 2 代 上的文件 两项服务均位于同一地区 西欧 一切正常 除非我在存储帐户前面添加防火墙 我选择允许 受信任的 Microsoft 服务 但是 现在
  • touchend 处理程序触发两次

    在 iOS 上的 web 应用程序上 我有一堆仅响应 touchend 的按钮 作为移动 safari 中点击延迟的快捷方式 当我在处理程序中添加警报时 随后点击页面上的任何其他按钮都会触发此原始处理程序 即使它们有自己的处理程序 下面是一
  • css 子 (>) 选择器在 IE8 中不起作用?

    根据我在这里和那里收集和理解的内容 当我错了时阻止我 只要您使用文档类型 html5 触发标准模式 子选择器 gt 就可以在 IE7 上工作应该这样做 尽管如此 我的CSS nav gt ul gt li gt a padding 0 2e
  • 如何提取具有非 Unicode 非拉丁文件名的 Zip 文件?

    有时 您收到的 Zip 文件中的文件或目录的名称中包含一些无法识别的字符 因此您无法提取它们 您使用什么工具将它们提取为正确转换的文件名 我在网上搜索但未能找到好的脚本 所以出于必要我自己写了一个Python脚本 希望它对某人有用 欢迎提出