UltraEdit--二进制文件编辑功能

十六进制编辑命令用来选择活动窗口的编辑模式。就是在十六进制和 ASCII 之间进行切换。ASCII 编辑模式通常用于基于文件的任何 ASCII (文本)。在 ASCII 模式,UltraEdit 允许所有功能的普通操作,并允许输入任何字符。

 

十六进制编辑模式通常用于非 ASCII 文件,或二进制文件。这些文件一般都包含不可打印的字符,并且不是文本文件。

 

当选择十六进制模式时,下列应用受到限制:

 

        不支持插入模式。

 

 将屏幕范围分割成如下三个区域:

 

文件偏移:

十六进制表示

; ASCII 表示

000000h:

30 31 32 33 34 35 36 37 38 39 30 31 32 33 34 35

;123456789012345

 

每行显示的十六进制数可以在 普通配置页 中指定。

 

文件偏移范围显示位于行首的字符相对于文件头部的字节偏移。

 

十六进制表示显示每个文件字节的十六进制值,两上字符对象之用空格 (“ ”) 隔开。

 

ASCII 表示提供可打印字符的视图。不可打印字符用一个句点 (“.”) 显示。

 

如果从 搜索菜单 中选择了字符属性,将会出现一个对话框,显示活动字节的十进制和十六进制值,同时也显示该字符 (这可以根据字体和脚本变化)。同这一样,活动字节的偏移也用十进制和十六进制两种格式显示。

 

在 ASCII 范围或十六进制范围任一一种方式编辑,将在输入有效的字符后自动更新其它范围。

 

所有的更改均在改写模式进行。要在十六进制模式下插入或删除字符,使用 编辑菜单 中的 十六进制插入/删除命令

 

十六进制模式支持 编辑菜单 中的 剪切 复制 粘贴 命令。

 

快捷键:        CTRL+H

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个简单的二进制文件查看器的实现,可以在控制台输出二进制文件的内容: ```python import argparse def hexstr(byte_str): """ 将字节串转换成十六进制字符串 """ return " ".join("{:02x}".format(x) for x in byte_str) def ascii_str(byte_str): """ 将字节串中的不可打印字符转换成点号 """ return "".join(chr(x) if 32 <= x < 127 else "." for x in byte_str) def print_hexdump(data, start_address=0, bytes_per_line=16): """ 打印二进制文件的十六进制和ASCII码表示 """ address_format = "{:08x}" hex_format = "{:<47}" ascii_format = "{}" for i in range(0, len(data), bytes_per_line): line_data = data[i:i+bytes_per_line] line_address = start_address + i hex_str = hexstr(line_data) ascii_str = ascii_str(line_data) print(address_format.format(line_address), hex_format.format(hex_str), ascii_format.format(ascii_str)) if __name__ == '__main__': parser = argparse.ArgumentParser(description="A simple binary file viewer.") parser.add_argument("filename", help="The name of the binary file to view.") parser.add_argument("--start", type=int, default=0, help="The starting address to view (in hexadecimal).") parser.add_argument("--bytes", type=int, default=16, help="The number of bytes to display per line.") args = parser.parse_args() with open(args.filename, "rb") as f: data = f.read() print_hexdump(data, args.start, args.bytes) ``` 运行该程序时,需要指定要查看的二进制文件的名称,以及可选的起始地址和每行字节数。例如,要查看名为“myfile.bin”的文件的内容,可以执行以下命令: ``` python hexdump.py myfile.bin --start 0x100 --bytes 32 ``` 将在控制台上输出类似于以下内容的内容: ``` 00000100 3c a5 2b 6e 30 96 4d 84 a8 2e 2e 2e 00 00 00 00 <.+n0.M......... 00000110 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00000120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00000130 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ ``` 左边是十六进制地址,中间是16个字节的十六进制值,右边是相应的ASCII码表示。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值