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

headbutcher 2004-05-03 07:48:25
如题,最好是能够分清字节...
请高手指点..
...全文
123 6 点赞 打赏 收藏 举报
写回复
6 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
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进制
  • 打赏
  • 举报
回复
相关推荐
发帖
语言基础/算法/系统设计
加入

1.6w+

社区成员

Delphi 语言基础/算法/系统设计
申请成为版主
帖子事件
创建了帖子
2004-05-03 07:48
社区公告
暂无公告