[SP-pm] Problemas com Hexadecimal
Otávio Fernandes
otaviof at gmail.com
Thu Aug 14 19:33:36 PDT 2008
2008/8/14 Adriano Ferreira <aferreira em shopzilla.com>:
> On Thu, Aug 14, 2008 at 8:32 PM, Otávio Fernandes <otaviof em gmail.com> wrote:
>> Senhores,
>>
>> Estou com algumas dúvidas sobre decodificação hexadecimal. Vejam:
>>
>> 1 #!/usr/bin/env perl
>> 2
>> 3 use strict;
>> 4 use warnings;
>> 5
>> 6 use Encode;
>> 7
>> 8 open( my $BODY,
>> 9 '/home2/otavio.fernandes/users/teste/cur/1217853567.20253.shike,S=34403:2,S'
>> 10 ) or die $!;
>> 11
>> 12 while (<$BODY>) {
>> 13 chomp;
>> 14 if (/forwarding the table/) {
>> 15 print "Debug -> antes #", $_, "#\n";
>> 16 s/&#([0-9a-f]+);/chr(hex($1))/ige;
>> 17 print "Debug -> encode #", encode( "utf8", $_ ), "#\n";
>> 18 print "Debug -> depois #", $_, "#\n";
>> 19 }
>> 20 }
>> 21
>> 22 close($BODY);
>> 23
>> 24 __END__
>>
>> E o resultado é:
>>
>> Debug -> antes #prohibited. However I’m forwarding the table
>> that’s contents =#
>> Debug -> encode #prohibited. However Ièm forwarding the table thatès contents =#
>> Wide character in print at decode_qp.pl line 18, <$BODY> line 844.
>> Debug -> depois #prohibited. However Ièm forwarding the table thatès contents =#
>
> Se você quer decodificar textos com "HTML entities" como:
>
> I’m
>
> você deve usar
>
> use HTML::Entities qw( decode_entities );
> my $encoded_s = "I’m";
> my $s = decode_entities( $encoded_s ); # conterá "I'm"
>
> Depois disso, o string está na representação interna do Perl (que se
> for necessário, é UTF-8).
>
> E note que no ’ o 8217 não é hexadecimal, é decimal mesmo.
>
>
>
>> Como eu faço para que os caracteres sejam decodificados para UTF8?
>>
>> Ainda não consegui perceber onde eu estou errando.
>>
>> um abraço,
>>
>> --
>> | --
>> | Otávio Fernandes <otaviof at gmail dot com>
>> | --
>> _______________________________________________
>> SaoPaulo-pm mailing list
>> SaoPaulo-pm em pm.org
>> http://mail.pm.org/mailman/listinfo/saopaulo-pm
>>
> _______________________________________________
> SaoPaulo-pm mailing list
> SaoPaulo-pm em pm.org
> http://mail.pm.org/mailman/listinfo/saopaulo-pm
>
Boa noite Adriano,
Realmente, eu não havia percebido este meu erro :-(. Agora usando o
HTML::Entities ficou perfeito. Vou implementar isso amanhã.
Muito obrigado!
um abraço,
--
| --
| Otávio Fernandes <otaviof at gmail dot com>
| --
More information about the SaoPaulo-pm
mailing list