WinBatch Tech Support Home

Database Search

If you can't find the information using the categories below, post a question over in our WinBatch Tech Support Forum.

TechHome

Sample code
plus

Can't find the information you are looking for here? Then leave a message over on our WinBatch Tech Support Forum.

Hex Dump

Keywords: hexdump hex dump ascii

src="c:\autoexec.bat"
trg="c:\temp\autoexec.hex"

fs=FileSize(src)
bb=BinaryAlloc(fs)
BinaryRead(bb,src)

handle=FileOpen(trg,"write")

zerochar=Char2Num("0")
AAAAchar=Char2Num("A")


bytecount=0
outputline=strcat(strfixleft(bytecount,0,8),": ")
asciiline=""

while bytecount< fs
    byte=BinaryPeek(bb,bytecount)
    asciibyte=Num2Char(byte)
    if byte==10 || byte==13 || byte==9 || byte==0 then asciibyte="."
    leftnibble= (byte & 240) >> 4
    rightnibble = byte & 15
    if leftnibble >= 10 then leftchar=Num2Char(leftnibble+AAAAchar-10)
                        else leftchar=Num2Char(leftnibble+zerochar)

    if rightnibble >= 10 then rightchar=Num2Char(rightnibble+AAAAchar-10)
                         else rightchar=Num2Char(rightnibble+zerochar)

    outputline=strcat(outputline,leftchar,rightchar," ")
    asciiline=strcat(asciiline,asciibyte)
    bytecount=bytecount+1
    if (bytecount mod 16) == 0
       FileWrite(handle,Strcat(outputline,"    ",asciiline))
       outputline=strcat(strfixleft(bytecount,0,8),": ")
       asciiline=""
    else
        if (bytecount mod 8) == 0
           outputline=strcat(outputline,"- ")
           asciiline=strcat(asciiline," - ")
        endif
    endif

endwhile
FileWrite(handle,Strcat(strfix(outputline," ",60),"    ",asciiline))

FileClose(handle)
Message("All","Doned")



Article ID:   W14394
Filename:   Hexdump.txt
File Created: 1999:10:27:11:08:48
Last Updated: 1999:10:27:11:08:48