
你得有个工具能写入任意二进制数,windows下现成的工具极少。
网上有个能够用cscript存二进制文件的例子可以参考,低版本windows自带的的debug,可以生成二进制文件,但需要有点汇编语言的能力。
如果windows带有.net framework可以自己写一个转换程序.
或者使用十六进制编辑器winhex就可以反存回去。
如果不会写程序就得使用linux命令。下载cygwin,里面有xxd既可以正向查看,还可以反向恢复。
问题一:如何查看二进制文件的文件内容? 10分 用UltraEdit这个软件
问题二:UltraEdit 怎么看二进制文件 【◆】【你好】【◆】
.
UltraEdit提供了这样的功能,它能够显示二进制文件的内容,即将二进制代码显示为十六进制。
.
按Ctrl+H键或者有一个二进制的图标.16进制 其实就是2进制。
16进制 就是 为了 输入和输出 方便和简单
你只要 把 1 看成 0001 把 F 看成 1111
.
如果你认为我的解答对解决你的问题有帮助.请点击我的回答下方【选为满意答案】按钮.
问题三:如何查看txt文件的二进制文件 c++ 可以读取二进制文件即.bin形式的 FILE * fb fb = fopen(文件路径/文件名.bin, rb)
fread(H_imag, sizeof(float), len, fb)
fclose(fb)len是数据的长度
问题四:C++中怎么打开一个二进制文件 估计你对二进制文件概念搞错了,你现在写的是二进制文件(就是计算机内部的格式),这好比电报码不经过译码你是看不懂的。我们能看懂的无论是10进制,16进制,2进制数其实都是从计算机内部的格式(2进制的码)转换出来的文本( 包括楼上说看到四字节05 00 00 00实际上也是用查看工具转出的16进制文本),因此,能看到的2进制数101,实际上是个“101”文本,并不是真正的2进制的码。如果你要保存5的 “二进制码” ,要通过文本查看器就能看到“101”,你实际上要写5的“二进制文本”而不是写“二进制码”。
问题五:在c语言中如何打开二进制文件 不知lz希望得骇什么
二进制的意思是按照数据的原有二进制值写入
与文本模式的差别是不处理行尾
“china” 的 ASCII 就是这样子,还能是什么
问题六:如何把EXE文件打开成二进制文件 您好。
将其导入ultra edit,里面有导出二进制文件选项
有各最简单的方法,windows其实自带了一个这样的工具exe2bin.exe在运行里输入cmd打开msdos方式,里面输入
c:\>exe2bin /?
就可以查看一下这个命令的方式,比如
c:\>exe2bin c:\a.exe b.bin
再用记事本查看就可以了,不过这种方法只能对exe文件有效。
如果还有问题,可以继续追问,感谢。
问题七:如何查看二进制文件的内容 用WINHEX之类的二进制查看软件打开文件即可看到二进制文件的内容。
问题八:如何快速读取二进制文件 Visual C++
如何:读取二进制文件
下面的代码示例演示如何从文件中读取二进制数据。使用了 System.IO 命名空间中的两个类:FileStream 和 BinaryReader。FileStream 表示实际的文件。BinaryReader 为允许二进制访问的流提供接口。
下面的代码示例使用由如何:编写二进制文件中的代码创建的称为 data.bin 的文件。
示例
binary_read.cpp
pile with: /clr
#using
using namespace System
using namespace System::IO
int main()
{
String^ fileName = data.bin
try
{
FileStream^ fs = gew FileStream(fileName, FileMode::Open)
BinaryReader^ br = gew BinaryReader(fs)
Console::WriteLine(contents of {0}:, fileName)
while (br->BaseStream->Position BaseStream->Length)
Console::WriteLine(br->ReadInt32().ToString())
fs->Close( )
}
catch (Exception^ e)
{
if (dynamic_cast(e))
Console::WriteLine(File '{0}' not found, fileName)
else
Console::WriteLine(Exception: ({0}), e)
return -1
}
return 0
}
补充
手上的一个VB项目(过程中发现,.Net果然是好啊),需要在一个ActiveX中实现HTTP下载功能,我是采用InternetreadFile这个API来实现,一开始的代码我是这么写的
Function Getdownload(sUrl As String) As boolen
Dim s As String
Dim hOpen As Long
Dim hOpenUrl As Long
Dim bDoLoop As Boolean
Dim bRet As Boolean
Dim sReadBuffer As String * 2048
Dim lNumberOfBytesRead As Long
hOpen = InternetOpen(scUserAgent, INTERNET_OPEN_TYPE_PRECONFIG, vbNullString, vbNullString, 0)
hOpenUrl = InternetOpenUrl(hOpen, sUrl, vbNullString, 0, ......>>
问题九:c++为什么无法打开二进制文件 添加位ios::in或ios::out。即fstream file(data.dat,ios::binary|ios:in)
问题十:linux 怎么看完二进制文件 查看二进制文件,用od或hexdump命令。
$ od -tx1 -tc -Ax binFile000000 61 62 63 64 65 31 32 33 34 35 61 62 63 64 65 31 a b c d e 1 2 3 4 5 a b c d e 1000010 32 33 34 35 61 62 63 64 65 31 32 33 34 35 61 62 2 3 4 5 a b c d e 1 2 3 4 5 a b000020 63 64 65 31 32 33 34 35 0a c d e 1 2 3 4 5 \n000029
-tx1选项表示将文件中的字节以十六进制的形式列出来,每组一个字节(类似hexdump的-c选项)
-tc选项表示将文件中的ASCII码以字符形式列出来(和hexdump类似,输出结果最左边的一列是文件中的地址,默认以八进制显示)
-Ax选项要求以十六进制显示文件中的地址
其实不论是在CMD中还是通过鼠标点击或别的地方启动程序,原理都是一样的:SHELL加载程序到内存,自动重定位(可执行文件里的偏移和它在内存中的偏移有差异),然后更换CONTEXT(包括IP指令,REG,线程上下文,等等),准备好了后,CPU就从ENTRYPOINT(主线程入口)开始执行。
当然了,可执行文件至少有几种,比如16位的,在CMD控制台中,以虚拟86模式执行;32位的控制台程序和普通的窗口程序差异很小,都是一样的PE格式;
控制台可以启动所有这些程序;反之,从任务管理器,资源管理器等GUI模式下,也可以启动控制台程序。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)