in reply to using sprintf to print binary data collected from the serial port

Here are a couple of routines I used to convert some hex data fields...

sub DecodeBCD { # Convert a string of hex digits such as "x\12x\34x\56" # into a string of ASCII characters such as "123456". my $str = shift; my $hex; $hex .= sprintf "%02x", ord for split //, $str; return $hex; } # End of Sub DecodeBCD sub DecodeBCA { # Convert a string of packed ALPHA digits such as "x\BDx\CCx\FF" # into a string of ASCII characters such as "BDCCFF". my $str = shift; my $hex; if (length($str) > 0) { $hex .= sprintf "%02x", ord for split //, $str; } else { $hex = 0; } return $hex; } # End of Sub DecodeBCD

Bugs/Blames are mine, any credit goes to the Monestary.
Too many monks to mention had a hand in this, it was my first perl program, & not so long ago. ;-)
  • Comment on Re: using sprintf to print binary data collected from the serial port
  • Download Code