This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
内容贡献者: 寂静的羽夏
上一篇: 工作区
简述
文件的基本操作包含打开、保存、另存为等基本操作,如下我们将逐个介绍。
新建
新建会增加一个具有2GB
缓存的文件,也就是说,你可以往新建的文件输入不超过2GB
大小的内容,这个是受限于QByteArray
。当你点击标签页上的新建按钮或者工具栏/菜单栏中的新建项目将会新建该种文件:
在该版本,还有一个新建超大文件的功能,它不受2GB
大小的限制,它的上限是你内存的可用大小。
注:新建超大文件的功能实现是牺牲效率来换取空间(采用所谓的懒加载),所以在速度上,如果普通的新建能够使用的话,新建超大会比普通新建慢一些。所以,如果没有新建超大文件的需求,请尽量使用普通的新建。标签页的新建不能新建超大文件。
锁定文件写入:否
锁定文件字节改变:否
打开文件/工作区
在有充足的权限下,打开文件
可以打开任意文件。在这种情况下,就算是工作区文件,也会被当作普通文件对待。
在有充足的权限下,打开工作区
可以打开合法的羽云十六进制工作区文件。
锁定文件写入:否
锁定文件字节改变:是
保存/另存为/导出
保存和另存为我就不多说了,就和你办公软件保存文件一模一样,不过有点区别。如果你的文档包含标记,则会自动将该文档转为工作区,并在原文件末尾添加.wingplg
保存相应的内容。
导出和另存为类似,作用是将文档的修改应用到其他地方,而编辑器的更改保持不变。
打开驱动器
本软件在具有 root 权限的情况下可以直接读写磁盘数据,为了保证安全性,默认会锁定文件编辑。如果真想编辑请点击任务栏的启用/禁用文件编辑
使红色的锁变为绿色即可。注意,此操作为高危操作。
锁定文件写入:是
锁定文件字节改变:是
保存选区字节
有时我想只保存一部分字节,并不想保存全部,只需将要保存的字节选中,然后通过点击该菜单实现另存。
撤销/恢复
通过直接在编辑器的所有非布尔类型操作均可撤销,比如修改字节、修改文件基址、修改文字编码等。什么是布尔操作,比如设置地址栏的显示隐藏。显示和隐藏只有两种状态,我把这种称之为布尔类型操作。插件也有接口来进行编辑操作,但一切插件的所有对文档的编辑操作都不可恢复,除非插件提供了撤销恢复机制,如果想学习如何编写插件请到后面的篇章。
剪切/复制/粘贴
这个没啥介绍的,和办公软件是保持一致的,不过该软件提供了十六进制复制这个东西,这是啥意思呀,我们来举个例子。比如我要复制一段十六进制:
| 00000000 | 31 32 33 34 | 1234
这个结构和咱们的编辑区是一样的,地址+十六进制+解码字符串
。如果我选中这些字节,如果直接粘贴到文本文档,那么得到的就是1234
;如果是以十六进制的形式,则就是31 32 33 34
。如果是在编辑区以十六进制的形式粘贴,31 32 33 34
这个字符串就会被解码为0x31 0x32 0x33 0x34
这四个字节。
删除
这个没啥好讲的,不过在设置锁定文件长度以及不同的模式下,删除的效果是不一样的。咱们操作一般是在复写模式下,当然也可在插入模式下。这两种模式对应的删除效果是一样的,只是光标不太一样,我们来看看它们在外观上的区别:
复写模式
插入模式
在该软件中,如果锁定了文件字节大小,那么它们的操作效果完全一样;如果未锁定,在插入模式下写入字节时会在中间进行,而复写模式下会直接覆盖,但如果到了文件尾,它们都会插入新的字节。效果如下所示:
复写模式
插入模式
填充
填充在十六进制编辑中也是比较重要的角色。填充会用同一个字节填充一个区域,如下是效果:
如果输入十六进制,一定要在前面添加0x
前缀,否则默认十进制。
填充还有两个快捷菜单:填充 nop
和填充零
,它们到底有啥区别。nop
在Intel
当中硬编码为0x90
,所以点击它将会把选区全部填充为90
;填充零
仅仅就是把选区的全部字节填充为0
。
编码
修改编码会修改编辑区中解码字符串的编码方式,由于电脑支持的编码中千奇百怪,数量非常多,所以我在我电脑支持的上百种编码挑出常用的编码,如下所示:
- ASCII
- UTF-7
- UTF-8
- UTF-16
- UTF-16BE
- UTF-16LE
- UTF-32
- UTF-32BE
- UTF-32LE
- GB18030
- GB2312
- GBK
- Big5
- ANSI1251
- greek
- unicode
- DOS-862
- ISO646-US
- JIS
- KOI8-R
- KOI8-U
- korean
如果你觉得还缺少啥常用编码,可以 issue 我进行添加,注意要提供完整的文字编码名称。
其他
学到这里基本上编辑十六进制文件是不愁了,但并没有完全介绍完。想要更加熟练、得心应手需要后面的深入学习。
下一篇
本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。