SkÃ¥ne Sjælland Linux User Group - http://www.sslug.dk Forside   Tilmelding   Postarkiv   Forum   Kalender   Søg
MhonArc Dato: [Date Prev] [Kronologisk oversigt] [Date Next]   TrÃ¥d: [Date Prev] [Oversigt trÃ¥de] [Date Next]   MhonArc
 

Re: [PERL] konvertere tekststreng til hex



----- Original Message -----
From: "Christian Hansen" <sslug@sslug>
Newsgroups: sslug.perl
To: <sslug@sslug>
Sent: Wednesday, November 29, 2000 1:48 PM
Subject: Re: [PERL] konvertere tekststreng til hex


> Nezar Nielsen wrote:
...
> >> Er der en eller anden, der kan fortælle mig, hvordan jeg hurtig
> >> konvertere en tekststreng til hexidecimal præsentation.
> >>
...
> >
> > perl -e 'print "%".uc(unpack("H*","Ø"))'
> >
> > perl -e 'print "%".uc(sprintf("%x",ord("Ø")))'
>
> Det gør det kun på et tegn. Hvad med en hel tekststreng. Skal jeg til at
> gennemløbe hvert eneste tegn i en lykke, eller kan det lade sig gøre på
> anden, smartere vis ala.
>
> $input =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
> ?

Yep:

$input =~ s/([^a-zA-Z0-9])/uc('%'.unpack("H*", $1))/eg;

Jeg kan ikke huske hvor mange tegn man bør encode i URL'er, men det kan use
URI::Escape garanteret:

use URI::Escape;
my $str="ålen følte sig tilpas i et æble";
my $encoded=uri_escape($str);
my $unencoded=uri_unescape($encoded);

--
Mvh. Nezar Nielsen
http://fez.dk/




 
Forside   Tilmelding   Postarkiv   Oversigt   Kalender   Søg

 
 
Henvendelse vedrørende websiderne til <www_admin>. Senest ændret 2005-08-10, klokken 19:53
Denne side vedligeholdes af MHonArc .