如何以十六进制打开文件的前 n 个字节并编辑它?

如何以十六进制打开文件的前 n 个字节并编辑它?

我想在 VirtualDub 中编辑一些 .avi 视频(准确地说是剪切它们),但无法打开这些文件。它们是用 xvid 编码的,我已经安装了,可以在 KMPlayer 中播放,没有问题。此外,所有其他 xvid 视频都可以用 VirtualDub 打开和剪切。

我怀疑这些特定视频的前几个字节有问题(神奇的数字?)。这意味着我必须在十六进制编辑器中打开有问题的文件并对标题进行一些必要的调整。问题是,它们非常大(每个文件 > 3 GB),在 UltraEdit 中打开需要很长时间。

UltraEdit 能否只打开文件的前几个字节?如果不能,您知道有哪个应用程序可以做到这一点吗?

编辑:我正在使用 Windows XP。

答案1

不,据我所知(自 1998 年以来一直是 UltraEdit 用户),UltraEdit 会将整个文件读入内存,并且还存在一些效率低下的问题,如该问题的评论中所述(打开大型 HTML 文件时效率会进一步降低)。

但是,如果您的系统支持该功能(64 位 Windows 和足够的 RAM),并且大文件禁用了临时文件(菜单高级/配置/文件处理/临时文件/“打开大文件时禁用临时文件(大于 2 MB)”),那么只要有一点耐心,它应该可以工作。

用于大文件的十六进制编辑器

  1. 氢键。 从特征:“无论文件大小,均可立即打开。打开和编辑速度非常快”

  2. 十六进制编辑器列表我发现wxHex编辑器看起来很有希望:

    • 它不会将整个文件复制到您的 RAM 中。
    • 内存使用情况:打开多个 > ~8 GB 的文件时,当前约为 ~25 MB。
    • 您可以多次删除/插入字节到文件,而无需创建临时文件!
    • 它支持最大 2^64 字节的文件。除了 Linux 之外,它还可以与其他操作系统一起使用,例如 Windows 和 Mac OS。

但我还没有测试过它们。

答案2

最近我发表了六角切割机它是适用于 Windows 和 Linux 的免费十六进制编辑器,允许您立即打开无限大小的文件 - 只有可见部分才会加载到内存中。

非免费部分允许您将“语法”应用于二进制文件,从而让您自动解码文件。目前已有基于 RIFF(如 AVI)的 WAV 文件(免费)语法。您可以尝试应用此语法,看看它解析得不好的地方。

相关内容