将文档转成HEX格式输出

原创 2007年10月14日 23:55:00
此程序可以将文档转成HEX格式输出。DELPHI7,WINXP编译通过
program phexview;
{$APPTYPE CONSOLE}
uses
  SysUtils,classes;
const
  dispChar=[#33..#224];
  modSp='- ';//分割字符
  nonDispChar='.';//不显示字符
  HexChar:array[0..15] of char=('0','1','2','3','4','5','6','7',
                           '8','9','A','B','C','D','E','F');
function ByteToHex(const bt :byte):string;
var
  caTmp:array[0..2] of char;
begin
  caTmp[1]:=HexChar[integer(bt) and $0000000f];
  caTmp[0]:=hexChar[bt shr 4];
  caTmp[2]:=#0;
  result:=caTmp;
end;

var
  msSrc:TMemoryStream;
  tmpStr,ascstr:string;
  i,m:integer;
  //tmpStr:pchar;
begin
  { TODO -oUser -cConsole Main : Insert code here }
  if ParamCount<1 then begin
    writeln('Examples:HexView TextFilename');
    exit;
  end;
  if not FileExists(ParamStr(1)) then begin
    writeln('The file:',ParamStr(1),'not found!');
    exit;
  end;
  //tmpStr:=GetMemory(72);
  msSrc:=TMemoryStream.Create;
  try
    mssrc.LoadFromFile(ParamStr(1));
    for i:=0 to msSrc.size-1 do begin
      tmpStr:=tmpStr+ByteToHex(byte(pchar(msSrc.memory)[i]))+' ';
      if (pchar(msSrc.memory)[i] in dispChar) then
        ascstr:=ascstr+pchar(msSrc.memory)[i]
      else
        ascstr:=ascstr+nonDispChar;
      if ((i mod 8)=7) and ((i mod 16)<>15)then
        tmpStr:=tmpStr+modSp;
      m:=i mod 16;
      if (m=15) or (i=msSrc.size-1) then begin
        tmpstr:=tmpstr+stringofchar(' ',(15-m)*3);
        if m<7 then tmpStr:=tmpStr+'  ';
        tmpStr:=tmpStr+'   '+ascStr+#10#13;
        ascStr:='';
        write(tmpstr);
        tmpStr:='';
      end;
    end;
  finally
    msSrc.free;
    //FreeMemory(tmpStr);
  end;
end.

byte[]转hex的方法

方法一 byte[] bytes = {-1, 0, 1, 2, 3 }; StringBuilder sb = new StringBuilder(); for (byte b...
  • anerle2012
  • anerle2012
  • 2016年08月26日 15:08
  • 1573

HEX文件格式详解

Hex文件是可以烧录到MCU中,被MCU执行的一种文件格式。如果用记事本打开可发现,整个文件以行为单位,每行以冒号开头,内容全部为16进制码(以ASCII码形式显示)。Hex文件可以按照如下的方式进行...
  • GSH_Hello_World
  • GSH_Hello_World
  • 2016年09月06日 17:14
  • 1258

Intel HEX文件解析

最近有一个需求就是为Arduino开发板做一个基于蓝牙的无线烧录程序。目前的Arduino程序都是通过USB线连接到电脑的主机上,实际的传输过程是基于USB协议的,这个过程还是比较麻烦的。因为每次的编...
  • u011000290
  • u011000290
  • 2016年04月05日 17:22
  • 3327

BIN、HEX,ELF,AXF文件的区别

嵌入式软件开发中文件格式 1.Bin Bin文件是最纯粹的二进制机器代码, 或者说是"顺序格式"。按照assembly code顺序翻译成binary machine code,内部没有地址标记。...
  • chunlovenan
  • chunlovenan
  • 2015年02月11日 11:39
  • 2601

bcd与hex转换、以及编码格式

1、BCD码 (1)压缩BCD:4位二进制数表示一个十进制数,例如:                0001 0010 --> 12                  0001 0011 -->...
  • tfygg
  • tfygg
  • 2017年01月25日 10:05
  • 1820

linux下查看十六进制文件方法

1. 在 vi 或 vim 的命令状态下 :%!xxd              ——将当前文本转换为16进制格式。 :%!xxd -r          ——将当前文件转换回文本格式。 ...
  • ljasdf123
  • ljasdf123
  • 2013年01月22日 18:20
  • 8844

HEX文件格式解析

来自:http://blog.csdn.net/GZFStudy/archive/2008/09/03/2873814.aspx Intel HEX 文件是由一行行符合Intel HEX 文件格式...
  • a1037488611
  • a1037488611
  • 2015年01月31日 12:11
  • 2899

objcopy [选项]... 输入文件 [输出文件]

[功能]  将目标文件的一部分或者全部内容拷贝到另外一个目标文件中,或者实现目标文件的格式转换。  [描述]  objcopy工具使用BFD库读写目标文件,它可以将一个目标文件的内容拷贝...
  • cyteven
  • cyteven
  • 2013年10月23日 14:30
  • 1589

bin文件转换为hex文件C语言实现

对于嵌入式而言,hex文件可能大家再熟悉不过了,对,我们大学时学习的51单片机编写的代码在keil上编译后就生成了hex文件。那bin文件又是什么意思呢,它又和hex文件的区别在哪?这也不是本文的重点...
  • hwb_1988
  • hwb_1988
  • 2015年04月19日 19:25
  • 3401

如何把word转成pdf格式的文档

Word是我们最开始用的文本格式,常用来编辑文章。给我们的工作带来了很多方便,但是作为保存文件的格式word还是不如pdf好,所以大家都愿意将编辑好的word转换成pdf,那么如何把word转换成pd...
  • hhgbgrfrw
  • hhgbgrfrw
  • 2016年06月21日 15:54
  • 279
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:将文档转成HEX格式输出
举报原因:
原因补充:

(最多只允许输入30个字)