|
|||||||||||||||||||||||||||
----- 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/
|
||||||||||||||
|
||||||||||||||