Hi, On 19 Jul 2003, Joerg Rossdeutscher wrote:
Ich lade sagenwirmal 5 Bytes binäre Daten in einen Skalar. Das enthält
print ord(substr($data,3,1));
Yep, das wird so nicht gehen, da encoding abhaengig. Leider weiss ich nicht, ob das encoding "im String" gespeichert ist (dann wuerde man ihn wohl einfach in einen Bytestring umwandeln koennen, und substr() wuerde wieder gehen), oder global aus dem Environment genommen wird, jedesmal wenn substr() aufgerufen wird. Ich fuerchte letzteres, das ist logischer. Und in dem Fall kannst du substr nicht benutzen (jedenfalls nicht ohne LANG umzuschalten).
kanns halt nicht besser. Kann man perl irgendwie verklüsen, daß eine Variable kein "Text" ist sondern ein "Array of Bytes", sprich: Ohne Encoding ist?
Nicht das ich wuesste. Ein Skalar hat nur drei Sybtypen: Referenz, Zahl oder String. Das einzige was mir da mit Perl-Hausmitteln einfaellt ist: @as_bytes = unpack ("c*", $input_string); Dein Byte stuende dann an $as_bytes[3].
Ich habe sowas wie oben inzwischen auf "unpack" umgestellt,
Ahh, hmm ;) Ciao, Micha.