怎样将二进制文件读出来后仍以二进制的"0","1"形式或十六进制等显示出来.

headbutcher 2004-05-03 07:48:25
如题,最好是能够分清字节...
请高手指点..
...全文
156 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
wangdajunxx 2004-07-07
  • 打赏
  • 举报
回复
var

buf: array[0..300-1] of byte;
wdj: string;
begin
wdj:='';
wdj:=inttohex(buf[j],2);
memo1.Text:=tmpstr+' '+inttostr(l);
huojiehai 2004-05-05
  • 打赏
  • 举报
回复
http://haitian.myrice.com/SoftRes.htm
文件<--->16进制字符(互转)
zthhyt 2004-05-05
  • 打赏
  • 举报
回复
function IntToHex(Value: Integer; Digits: Integer): string; overload;
function IntToHex(Value: Int64; Digits: Integer): string; overload;
justsen 2004-05-05
  • 打赏
  • 举报
回复
miky说的是以十六进制显示,其实十六进制显示还可以用格式化输出的方法
format('%x',[what you want to display])
要显示成二进也很简单:只需进行一些简单的位操作就可以了。
例如:你有byte类型的n:=9(二进制为:00001001),你可以用另一个byte类型的
test:=$80(即:10000000)和n进行and操作,结果大于0就输出1
else 就输出0,然后再test:=test shr 1 (右移一位)再跟n 与
until test<1


CloneCenter 2004-05-04
  • 打赏
  • 举报
回复
byte 类型的去读取,最简单的办法。但是可能比较慢。

或者是将 BlockRead 出来的部分,按照 Byte 数组的方式处理一下。
miky 2004-05-03
  • 打赏
  • 举报
回复

显示的时候用
function IntToHex(Value: Integer; Digits: Integer): string; overload;
function IntToHex(Value: Int64; Digits: Integer): string; overload;
转为16进制

16,747

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧