问题标签 [hex-editors]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
operating-system - 是否可以通过任何十六进制编辑器编写笔式驱动器的 MBR?
创建引导加载程序后,如果我复制引导加载程序的字节并使用十六进制编辑器将其粘贴到笔式驱动器的第一个 512 字节上,它会工作吗?(实际上我想学习从头开始创建操作系统。)
unicode - 如何让vim显示文件数据的逐字节表示
我不希望 vim 以任何编码特定的方式解释我的数据。换句话说,当我在 vim 中时,我希望光标所在的字符对应于实际的byte,而不是那个字节的 utf* (等)表示。
我需要使用 vim 来分析由其他人(使用其他软件)造成的 Unicode 转换错误引起的问题,所以重要的是我看到了实际存在的内容。
例如,在 Cygwin 的 vim 中,我已经能够将 UTF-8 BOM 视为
 [开始文件数据]
太棒了。我认为这是一个 UTF-8 BOM,如果我想知道每个字符的十六进制是什么,我可以将光标放在字符上并使用“ga”。
我最近有一台合适的 Linux 机器(Fedora)。在 /etc/vimrc 中,存在这一行
设置文件编码=ucs-bom,utf-8,latin1
当我查看这台机器上的 UTF-8 BOM 时,BOM 完全隐藏。
当我将以下行添加到 ~/.vimrc
设置文件编码=latin1
我懂了

前 3 个字符是 BOM(当对它们使用 ga 时)。我不知道最后三个字符是什么。
有一次,我什至看到 UTF-8 BOM 表示为“feff”——UTF-16 BOM。
无论如何,你看到了我的问题。我需要准确查看文件中的内容,而无需 vim 为我解释字节。我知道我可以使用 xxd、od 等,但 vim 作为分析工具一直非常方便。另外,我希望能够编辑文件并保存它们而不会出现任何转换问题。
谢谢你的帮助。
emacs - Emacs,十六进制编辑器并确定文本文件为 DOS 格式
这是我的问题的简化版本:我有两个文本文件,不同的数据,但第一行相同,由同一个程序生成,尽管可能在不同的操作系统上。当 emacs 读取其中一个时,它说它是 DOS 格式,而在读取另一个时却不是。
我使用了几个 Hex 编辑器(Kubuntu 上的 Bless、GHex、OKTeta),在所有这些编辑器上我看到了相同的东西,即每行都以两个文件的序列 OD OA (CR LF) 结尾,包括最后一行。
所以我的问题是:emacs 如何确定什么是 DOS 文件,什么不是,文件中是否还有 Hex 编辑器不会显示或添加的其他内容?
这两个文件在不同的目录中具有相同的名称。我也遇到了这个问题,因为我有解析字符串的 C++ 代码,并且在 emacs 列为 DOS 的文件上失败了,所以问题实际上出在文件内容上。
最后一点:你会注意到没有 C/C++ 标签。我不是在寻找关于如何修改我的 C++ 代码来处理这种情况的建议。我知道该怎么做。
谢谢你的帮助
一个
math - 计算两个文件之间的相关系数 - 十六进制值直方图相关性
我是一名新的 CS 学生,我的老师要求我们获取 2 个 txt 文件并比较它们的十六进制值。每个文件的内容分别是“abcde ... XYZ”和“accde ... XYZ”。我已经将每个字符出现的百分比值放入了 Excel 表中,现在我需要通过计算这两个文件之间的相关系数来了解他的意思。
如果您需要更多了解我的问题,请随时提问。
linux - 使用 vi/vim 进行十六进制编辑的光标
我知道我们可以用 vi/vim 十六进制编辑文件,使用命令%!xxd
(call *nix hex dump) 和%!xxd -r
(exit *nix hex dump)。
问题是,如果我在十六进制代码区域进行一些十六进制编辑,则在 ascii 代码区域中没有显示相应的光标,反之亦然。
相比之下,使用ghex编辑文件时,有两个光标,一个是当前编辑操作,另一个显示在另一个面板中的对应位置。
例如,如果一个文本文件包含一个字母“f”,而我正在使用 ghex 对其进行编辑,当我将光标移动到 hex 时,右侧面板中的光标将显示当前要编辑的字符为“f”左侧面板中的值 0x66。
vi/vim/xxd中是否已经存在这个功能,但我没有发现?
hex-editors - 以这种方式使用十六进制编辑器修改文件是否安全?
我想用十六进制编辑器修改一个文件(添加一些新代码/功能),但我不确定我是否会在程序中为新材料找到足够的空白空间。所以我有几个关于什么是安全的问题:
- 该文件在结尾处有大量的 00 序列,这几乎肯定就足够了。写这个安全吗,还是我必须担心该区域保留给程序在正常操作过程中写入?
- 如果我必须增加文件大小,是否存在通过覆盖其他文件而损坏其他文件的危险(如果这很重要,我正在使用 HxD)?我有更大文件的空间,我只是不想损坏其他文件。
- 如果我确实更改了文件大小,是否还有其他需要更改以匹配的内容?
c# - 哪个控件可以构建十六进制编辑器?
我想使用 XAML/WPF 和 C# 创建一个十六进制编辑器,但我需要某种表格控件来显示文件内容。它应该在每列中有一个文本框来查看地址、查看和编辑十六进制值和 ASCII 值。
后来我想添加额外的列,比如 Unicode 什么的。用户应该能够查看/隐藏列。
我需要什么控件来做到这一点?
我想到了 a ListView
,用 aGridView
来定义每个 Column 中的 Columns 和一个 TextBox。但ListView
更多的是Multi-Row
控制。你能给我一个关于我应该使用哪个控件的提示吗?
java - 如何在 java 中打开文件,然后调用十六进制编辑器来检查文件类型?
我们真的被困在这个话题上,这是我们唯一将文件转换为十六进制的代码,但我们需要打开一个文件,然后让 java 代码读取十六进制并提取某些字节(例如前 4 个字节用于文件扩展名:
python - 写入文件夹时文件更改
我正在处理二进制文件。它们是 jpeg 图像。我需要用 Python 编辑它们并保存它们。我一直在使用这个脚本,到目前为止似乎工作正常:
无论如何,出现了一个问题(在 Python 之外):我的两个文件应该是相同的,但事实并非如此!通过在十六进制编辑器中打开它们,它们看起来略有不同(原来的大小比新的小,即 163 KB,而 167)。此外,当我打开它们时,它们是不同的。它们仍然被视为图像,但一个看起来很好(原始),而另一个则完全是一团糟......出了什么问题?我正在使用的代码是否改变了我不知道的东西,如果是,是什么?我希望你能帮助我。
c++ - 如何将 .hex 文件反编译为 Arduino 的 C++?
我有一个十六进制文件,该文件将被闪存到在 Arduino 设备上运行 的Atmel芯片上。
在把它放到我的 Arduino 上之前,我想修改这个文件的某些方面,但我没有源 C++;只是十六进制文件。
有没有任何有效的方法来获取 .hex 文件并重新组装 C 代码?如果是这样,怎么做?