Wenn ich verstehe, LWP::Simple
‚s example script und implementation richtig, ich glaube, du bist gemeint einen Fall, wie dies entweder zu handhaben ...
.force_encoding
Festlegen einer weniger strengen Codierung zu verwenden:
use LWP::Simple;
my $lwp = LWP::Simple.new;
$lwp.force_encoding = 'utf8-c8';
say $lwp.get('http://www.google.com');
utf8
(Vorgabe) = UTF8, mit ungültigem Bytes, eine Ausnahme zu verursachen.
utf8-c8
= UTF8 mit Pass-Through für ungültige Bytes.
.force_no_encode
Einstellung das Ergebnis als ein erhalten Buf
:
use LWP::Simple;
my $lwp = LWP::Simple.new;
$lwp.force_no_encode = True;
say $lwp.get('http://www.google.com');
Ich kann es allerdings nicht testen, da LWP::Simple
(mit zef installiert ist) nicht überhaupt nicht funktioniert für mich. (Ich bin mir nicht sicher, ob das Problem mit meinem Perl 6 Setup ist.)
Mein Eindruck ist, dass dieses Modul gerade nicht sehr poliert ist. Es ist nicht nur das Fehlen von Dokumentation – die API scheint auch teilweise aus dem Perl 5-Modul (sogar Teile, die in Perl 6 weniger sinnvoll) kopiert werden, und teilweise von verschiedenen Kommittenten entwickelt Features hier und da hinzufügen, ohne viel Design Fokus.
Die utf-c8-Codierung funktioniert hier nicht, weil es Kuriositäten in der Dekodierung zu schützen, ein d force_no_encode gibt einen Puffer zurück, den ich noch dekodieren müsste. Ich denke nicht, dass es ein Problem mit LWP :: Simple ist, so sehr wie Perls begrenzte Fähigkeit, zu dekodieren. –
Also decode als latin-1 oder entpacken * A – ugexe
Das würde funktionieren, wenn es Latin-1 oder ASCII wäre, aber es ist nicht. –