Konvertering af tekststreng af hex værdier til faktiske HEX værdier
Jeg arbejder med et script, der via unpack('H'*,$var) udpakker en binær fil til en lang streng af HEX værdier. Denne streng bliver efterfølgende behandlet, og sub strenge bliver ud carvet. Disse sub strenge indeholder UTF8 tekst. Denne tekst skal så efterfølgende udksrives til en csv fil. Jeg har isoleret mit 'problem til følgende script:use Encode::Detect::Detector;
use Encode;
my $data="53C398C398C398C398C398C398C3985252525252454545454E4E4E20C385C385C385C385C385C38520C386C386C386C386C386C386C3862E6A7067"; #data udpakket fra 'unpack' funktionen
@array=split((/(..)/), $data);
$data=join ("\\x", @array);
$data=~s/\\x\\x/\\x/g;
print $data;"\n\n"; # the values are printet out like below - but is not treated as hex values afterwards ....
#\x53\xC3\x98\xC3\x98\xC3\x98\xC3\x98\xC3\x98\xC3\x98\xC3\x98\x52\x52\x52\x52\x52\x45\x45\x45\x45\x4E\x4E\x4E\x20\xC3\x85\xC3\x85\xC3\x85\xC3\x85\xC3\x85\xC3\x85\x20\xC3\x86\xC3\x86\xC3\x86\xC3\x86\xC3\x86\xC3\x86\xC3\x86\x2E\x6A\x70\x67
#how do I make Perl treat this $data as HEX values ??
print "\n\n";
print $jules = "\x53\xC3\x98\xC3\x98\xC3\x98";
my $encoding_name = Encode::Detect::Detector::detect($jules);
print "\nEncoding - jules: ".$encoding_name."\n\n";
my $string_jules = decode($encoding_name, $jules);
my $encoding_name = Encode::Detect::Detector::detect($data); ##Script fails on last part
print "Encoding - data: ".$encoding_name."\n\n";
my $string_data=decode($encoding_name, $data);
open FH, ">>C:\\script\\out.txt";
print FH $string_jules;
print FH $string_data;