User since
2003-08-18
142
Artikel
BenutzerIn
Ich benutze JSON::XS zum Parsen von Datenstrukturen.
Dabei bekomme ich sehr selten Binärmüll von meiner Schnittstelle.
Wie kann ich diesen Müll in UTF-8 konvertieren, damit JSON::XS weiterläuft.
Gibt es in Perl auch ein try/catch...Dann würde ich die Konvertierung nur machen, nachdem JSON::XS einmal gemeckert hat...
User since
2005-01-17
14748
Artikel
Admin1
Soweit ich weiß, verwendet JSON::XS standardmäßig UTF.
Wie machst du es denn derzeit?
Alles in einen eval Aufruf packen und dann $@ abfragen ;)\n\n
<!--EDIT|GwenDragon|1179237461-->
User since
2007-05-11
923
Artikel
HausmeisterIn
Mit
use Encode;
my $utf8 = encode("utf-8", $binaermuell);
sollte es eigentlich gehen, eventuell in ein eval { ... } packen.
Wie sieht denn dein "Binärmüll" aus, und was machst du dann damit?
User since
2003-08-04
12208
Artikel
Admin1
statt try/catch kannst du eval benutzen:
eval {
die hard;
};
if ($@) {
# fehler in $@ abfangen
}
oder
Exception::Class::TryCatch\n\n
<!--EDIT|pq|1179319264-->
User since
2003-08-18
142
Artikel
BenutzerIn
Danke für die Hilfe.
Den Binärmüll bekomme ich von kommerzieller Server-Software, auf deren Source-Code ich keinen Zugriff habe.
Ich habe gestern einen Fix bekommen, den ich noch einspielen muss. Einsweilen bin ich halt zurückgerollt.