Avatar billede schris Praktikant
13. juli 2012 - 23:18 Der er 2 kommentarer og
1 løsning

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;
Avatar billede schris Praktikant
13. juli 2012 - 23:21 #1
Mit problem ser ud til  at være en "type cast" fejl på den nye tekst streng. Hvordan kommer jeg omkring dette problem ??
Avatar billede Qobra Nybegynder
16. juli 2012 - 21:44 #2
Er ikke helt med på hvad du vil, men hvis du vil lave din hex-streng tilbage til data kan du vel bruge pack "H*"?
Avatar billede schris Praktikant
10. december 2012 - 17:15 #3
Fixet
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester