Datentypen haben plattformübergreifend dieselbe Byte-Länge
Infolge Typisierung ist ein plattformübergreifender Transport der Daten möglich
- Abstrakte Datentypen in c deklarieren und in Dateien speichern
- Aggregation und Delegation sinnvoll nutzen für Objektübergreifenden Datenaustausch
- Beginn und Ende der Sommerzeit berechnen mit Perl
- Berechnen der Zeitzone mit Perl
- Binary und UTF-8 in MySQL Tabellen speichern
- Binärdatei mit Perl erzeugen und mit c auslesen
- Bitoperatoren in Perl
- Blüten in der objektorientierten Programmierung
- C Testseite im Perl-Framework
- CGI/1.1 Der Standard Common Gateway Interface
- CPAN Module Device::USB für Win32 compilieren und installieren
- Das error_log ist definitiv kein Entwicklerwerkzeug
- Dateien dienen nicht der Präsentation der Daten sondern dem Transport
- Dateinamen in UTF-8 auf beliebigen Betriebssystemen
- Datentypen haben plattformübergreifend dieselbe Byte-Länge
- Datum als lange Zählung und Uhrzeit in dezimaler Darstellung
- Der letzte Rest: GET, PUT, POST, DELETE ...
- Der richtige Umgang mit Binaries in C und in Perl
- Die Multi-Media-Mail-Datei der Zukunft, SMS, MMS, Internet-Mail
- Drucken auf einen Netzwerkdrucker mit Perl
- Ein eigenes Forum programmieren, Zustandsmodell einer Webanwendung
- Exceptions vereinfachen die Prüfung über Kontrollstrukturen
- Ganze Zahlen in Dateien Schreiben in Programmiersprachen c, Perl usw.
- Globale Variablen der main-Class in einem Objekt bündeln
- HTTP/1.1 Multiple Request, Persistent Connection und Pipelining
- Interne Zeichenkodierung, Characters, Bytes und Bytesemantics
- JavaScript BinaryString, String, Base64 und Zeichenkette
- Julianischen und Gregorianischen Kalender berechnen mit C
- Just another OOP Tutorial for Perl
- Little Endian, Big Endian
- Locken von Dateien für atomare Lese- und Schreibzugriffe
- Modern Perl, Modern Style, Perl OOP, TDD
- MyDBI auf dem Weg zu einer eigenen Klassenhierarchie
- Nameserver-Abfragen, UDP mit Perl und mit C
- PHP serialize, unserialize ineffizient
- Perl OOP: Getter automatisieren ohne Gettermethoden zu definieren
- Perl's Exception::Class oder Exceptions klassifizieren
- Perl-Äquivalent zu PHP __toString()
- Perl5 OOP Overload und für was das gut ist
- Perl6 Perls Zukunft oder ein totgeborenes Kind
- Perl: Dependency Injection als Design Pattern
- Perl: Referenzen auf Variablen und Funktionen
- PerlDoc ausgewählte Module und Perl FAQ
- Perldoc Online, alle Perl-Funktionen per Klick erklären
- RFC gerechte Formate für Datum und Zeit
- Random Access, Persistenz und ein Schichtenmodell
- Rechnen mit IPv4-Adressen in Programmiersprache c
- Serialize Algorithmen leicht verständlich, Binary safe Read and Write
- Simple Mail Transfer Protocol einfach erklärt
- Transformation von Datenstrukturen für eine transportgerechte Verpackung
- Warum ein Data Abstraction Layer
- Webformulare und Fehlerbehandlung beim Senden der Daten mit Ajax
- XML und der Unsinn, Random Access auf Dateiebene abzubilden
- Unicode, ein System zur Verwaltung von Zeichen
Diese kleine Demo zeigt den eigentlichen Sinn einer Typisierung: Sie dient dazu, den Wertebereich einer Variablen einzuschränken und insbesondere die Länge in Bytes eines bestimmten Datentyps festzulegen. Sie können also eine beliebige Zahl eingeben, das Ergebnis hat stets eine Länge von genau 4 Bytes (32 Bit).
Typisierung macht Datentypen portable
Wieviele Bytes eine Variable rechnerintern im Hauptspeicher belegt, ist heutzutage weniger interessant. Tatsächlich wird es erst interessant, wenn Daten nach draußen gehen, also transportiert oder in Dateien gespeichert werden müssen. Von daher müssen Datentypen portabel sein, sie müssen infolge einer Festlegung so beschaffen sein, daß sie in Dateien stets dieselbe Bytefolge erzeugen und das unabhängig von der Programmiersprache und vom Betriebssystem.
Untenstehender C-Code zeigt, wie diese Anwendung funktioniert:
float f = 1.23;
unsigned char *oct = (unsigned char*)&f;
printf("%0.2f: %X %X %X %X\n", f, oct[0], oct[1], oct[2], oct[3] );
// 1.23: A4 70 9D 3F
Perl erzeugt exakt dieselbe Bytefolge:
printf "%X %X %X %X", unpack "C4", pack "f", 1.23;
Integer in Vax- und Networkorder
Etwas anschaulicher und auch verständlicher zeigen sich die ganzen Zahlen. Untenstehendes Formular demonstriert sowohl die Zählung als auch die Abbildung eines 16 Bit Integers auf Bytewertigkeiten eines Litte- und BigEndian.
Die rein persönlichen Zwecken dienende Seite verwendet funktionsbedingt einen Session-Cookie. Datenschutzerklärung:
Auf den für diese Domäne installierten Seiten werden grundsätzlich keine personenbezogenen Daten erhoben. Das Loggen der Zugriffe mit Ihrer Remote Adresse erfolgt beim Provider soweit das technisch erforderlich ist. @: nmqrstx-18@yahoo.de