FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Morgennebel am 20 Dezember 2019, 18:54:35

Titel: perl Hilfe: pack Funktion für return buffer.readInt16BE() ?
Beitrag von: Morgennebel am 20 Dezember 2019, 18:54:35
Moin Moin,


nach 20 Jahren fange ich wieder an zu programmieren und möchte ein NPM-Modul nach Perl migrieren.
Der Originalcode ist:


Decoder.prototype.decodeDPT8 = function (buffer) {
    return buffer.readInt16BE(0);
};


Ich möchte dies nach Perl konvertieren und verwende die pack()-Funktion. Jedoch kann ich keine Funktion für Signed Short Int in Big Endian finden...?
Entspricht signed short auf x86 automatisch Big Endian?

Danke, -MN
Titel: Antw:perl Hilfe: pack Funktion für return buffer.readInt16BE() ?
Beitrag von: amenomade am 21 Dezember 2019, 01:02:13
x86 (und idR ARM auch) nutzt eher little endian um die Daten zu speichern. unpack hat nw. die benötigte Schalter, um ordenlich zu lesen.

Diese Seite könnte dir helfen: https://www.perlmonks.org/?node_id=224666