cvs: phpdoc-de /reference/misc/functions pack.xml

From: Date: Tue, 04 Sep 2007 13:20:13 +0000
Subject: cvs: phpdoc-de /reference/misc/functions pack.xml
Groups: php.doc.de 
Request: Send a blank email to doc-de+get-2231@lists.php.net to get a copy of this message
samesch Tue Sep 4 13:20:13 2007 UTC Modified files: /phpdoc-de/reference/misc/functions pack.xml Log: syncing with EN

http://cvs.php.net/viewvc.cgi/phpdoc-de/reference/misc/functions/pack.xml?r1=1.6&r2=1.7&diff_format=u Index: phpdoc-de/reference/misc/functions/pack.xml diff -u phpdoc-de/reference/misc/functions/pack.xml:1.6 phpdoc-de/reference/misc/functions/pack.xml:1.7 --- phpdoc-de/reference/misc/functions/pack.xml:1.6 Sat Jun 23 13:21:40 2007 +++ phpdoc-de/reference/misc/functions/pack.xml Tue Sep 4 13:20:13 2007 @@ -1,181 +1,242 @@ <?xml version="1.0" encoding="iso-8859-1"?> -<!-- $Revision: 1.6 $ --> -<!-- EN-Revision: 1.1 Maintainer: nobody Status: ready --> - <refentry xml:id="function.pack" xmlns="http://docbook.org/ns/docbook"> - <refnamediv> - <refname>pack</refname> - <refpurpose>Packt Daten in einen Binär-String</refpurpose> - </refnamediv> - <refsect1> - <title>Beschreibung:</title> - <methodsynopsis> - <type>string</type><methodname>pack</methodname> - <methodparam><type>string</type><parameter>format</parameter></methodparam> - <methodparam choice="opt"><type>mixed</type><parameter>args</parameter></methodparam> - </methodsynopsis> - <para> - Diese Funktion packt ein oder mehrere Argumente - unter Beachtung - der Argument-Formate - in einen Binär-String. In dem zurück - gegebenen Binär-String stehen anschließend die Daten. - </para> - <para> - Die Idee entstammt Perl. Alle Formatierungs-Anweisungen - funktionieren genau wie dort. In PHP fehlen aber einige - Format-Codes von Perl (z.B. "u"). Der Format-String besteht aus - Format-Codes, gefolgt von einem optionalen - Wiederholungs-Argument. Dieses Argument kann ein Integer-Wert - oder ein "*" (für Wiederholung bis ans Ende der Daten) sein. Bei - "a", "A", "h" und dem "H" Format-Code gibt das - Wiederholungs-Argument an, wie viele gleiche Zeichen folgen. Im - Zusammenhang mit "@" gibt das Wiederholungs-Argument die absolute - Position an, ab der das nächste Zeichen steht. Bei allen anderen - steht der Wiederholungs-Zähler für die Anzahl der benutzten - Daten-Argumente, die in den Binär-String gepackt werden sollen. - Z. Zt. sind folgende Codes implementiert: - <itemizedlist> - <listitem> - <simpara> - a mit NUL gefüllte Zeichenkette (String) - </simpara> - </listitem> - <listitem> - <simpara> - A mit Leerzeichen (SPACE) gefüllte Zeichenkette (String) - </simpara> - </listitem> - <listitem> - <simpara> - h Hex Zeichenkette (String), unterer Halbwert zuerst - </simpara> - </listitem> - <listitem> - <simpara> - H Hex Zeichenkette (String), höherer Halbwert zuerst - </simpara> - </listitem> - <listitem> - <simpara> - c signed char - </simpara> - </listitem> - <listitem> - <simpara> - C unsigned char - </simpara> - </listitem> - <listitem> - <simpara> - s Short-Typ mit Vorzeichen (immer 16 Bit, Byte-Folge - maschinenabhängig) - </simpara> - </listitem> - <listitem> - <simpara> - S Short-Typ ohne Vorzeichen (immer 16 Bit, Byte-Folge - maschinenabhängig) - </simpara> - </listitem> - <listitem> - <simpara> - n Short-Typ ohne Vorzeichen (immer 16 Bit, big endian byte - order) - </simpara> - </listitem> - <listitem> - <simpara> - v Short-Typ ohne Vorzeichen (immer 16 Bit, little endian byte - order) - </simpara> - </listitem> - <listitem> - <simpara> - i Integer mit Vorzeichen (Größe und Byte-Folge - maschinenabhängig) - </simpara> - </listitem> - <listitem> - <simpara> - I Integer-Typ ohne Vorzeichen (Größe und Byte-Folge - maschinenabhängig) - </simpara> - </listitem> - <listitem> - <simpara> - l Long-Typ mit Vorzeichen (immer 32 Bit, Byte-Folge - maschinenabhängig) - </simpara> - </listitem> - <listitem> - <simpara> - L Long-Typ ohne Vorzeichen (immer 32 Bit, Byte-Folge - maschinenabhängig) - </simpara> - </listitem> - <listitem> - <simpara> - N Long-Typ ohne Vorzeichen (immer 32 Bit, big endian Byte- - Folge) - </simpara> - </listitem> - <listitem> - <simpara> - V Long-Typ ohne Vorzeichen (immer 32 Bit, little endian Byte- - Folge) - </simpara> - </listitem> - <listitem> - <simpara> - f Fließkomma-Typ (maschinenabhängige Größe und Wiedergabe) - </simpara> - </listitem> - <listitem> - <simpara> - d Double-Typ (maschinenabhängige Größe und Wiedergabe) - </simpara> - </listitem> - <listitem> - <simpara> - x NUL Byte - </simpara> - </listitem> - <listitem> - <simpara> - X Geht im String ein Byte rückwärts - </simpara> - </listitem> - <listitem> - <simpara> - @ NUL-Auffüllung bis zur absoluten Position - </simpara> - </listitem> - </itemizedlist> - <example> - <title>Mit Pack formatierter String:</title> - <programlisting role="php"> -$binarydata = pack ("nvc*", 0x1234, 0x5678, 65, 66); - </programlisting> +<!-- $Revision: 1.7 $ --> +<!-- EN-Revision: 1.10 Maintainer: nobody Status: ready --> +<refentry xml:id="function.pack" xmlns="http://docbook.org/ns/docbook"> + <refnamediv> + <refname>pack</refname> + <refpurpose>Packt Daten in eine Binär-Zeichenkette</refpurpose> + </refnamediv> + + <refsect1 role="description"> + &reftitle.description; + <methodsynopsis> + <type>string</type><methodname>pack</methodname> + <methodparam><type>string</type><parameter>Format</parameter></methodparam> + <methodparam choice="opt"><type>mixed</type><parameter>Argumente</parameter></methodparam> + <methodparam choice="opt"><type>mixed</type><parameter>...</parameter></methodparam> + </methodsynopsis> + <para> + Packt die angegebenen Argumente unter Beachtung von + <parameter>Format</parameter> in eine Binär-Zeichenkette. + </para> + <para> + Die Idee für diese Funktion entstammt Perl. Alle Formatierungs-Anweisungen + funktionieren genau wie dort, allerdings fehlen in PHP einige Format-Codes + von Perl (z.B. "u"). + </para> + <para> + Beachten sie, dass der Unterschied zwischen vorzeichenlosen und + vorzeichenbehafteten Werten nur Einfluss auf die Funktion + <function>unpack</function> hat, wogegen die Funktion + <function>pack</function> bei vorzeichenlosen und vorzeichenbehafteten + Format-Codes dasselbe Ergebnis liefert. + </para> + <para> + Beachten sie auch, dass PHP <type>Ganzzahl</type>werte intern als + vorzeichenbehaftete Werte speichert, deren Größe vom Maschinentyp abhängig + ist. Wenn Sie PHP einen vorzeichenlosen Ganzzahlwert geben, der für diese + Art der Speicherung zu groß ist, wird er in eine + <type>Gleitkommazahl</type> umgewandelt, was oft zu unerwünschten + Ergebnissen führt. + </para> + </refsect1> + + <refsect1 role="parameters"> + &reftitle.parameters; + <para> + <variablelist> + <varlistentry> + <term><parameter>Format</parameter></term> + <listitem> <para> - Der sich daraus ergebende Binär-String ist 6 Bytes lang und - enthält: 0x12, 0x34, 0x78, 0x56, 0x41, 0x42. + Die Zeichenkette <parameter>Format</parameter> besteht aus + Format-Codes, gefolgt von einem optionalen Wiederholungs-Argument. + Dieses Argument kann ein ganzzahliger Wert sein oder ein + <literal>*</literal> für Wiederholung bis ans Ende der Daten. Bei den + Format-Codes a, A, h und H gibt das Wiederholungs-Argument an, wie + viele gleiche Zeichen folgen. Im Zusammenhang mit "@" gibt das + Wiederholungs-Argument die absolute Position an, ab der das nächste + Zeichen steht. Bei allen anderen steht der Wiederholungs-Zähler für die + Anzahl der benutzten Daten-Argumente, die in die sich ergebende + Binär-Zeichenkette gepackt werden sollen. </para> - </example> - </para> - <para> - Bedenken sie, dass der Unterschied zwischen vorzeichen-losen und - vorzeichen-behafteten Werten nur Einfluss auf die Funktion - <function>unpack</function> hat, wogegen dies bei der Funktion - <function>pack</function> egal ist. - </para> + <para> + Zurzeit sind folgende Formate implementiert: + <table> + <title><function>pack</function> Formatzeichen</title> + <tgroup cols="2"> + <thead> + <row> + <entry>Code</entry> + <entry>Beschreibung</entry> + </row> + </thead> + <tbody> + <row> + <entry>a</entry> + <entry>mit NUL gefüllte Zeichenkette</entry> + </row> + <row> + <entry>A</entry> + <entry>mit Leerzeichen gefüllte Zeichenkette</entry> + </row> + <row> + <entry>h</entry> + <entry>Hex-Zeichenkette, unterer Halbwert zuerst</entry> + </row> + <row> + <entry>H</entry> + <entry>Hex-Zeichenkette, oberer Halbwert zuerst</entry> + </row> + <row> + <entry>c</entry> + <entry>vorzeichenbehaftetes Zeichen</entry> + </row> + <row> + <entry>C</entry> + <entry>vorzeichenloses Zeichen</entry> + </row> + <row> + <entry>s</entry> + <entry> + vorzeichenbehafteter Short-Typ (immer 16 Bit, Byte-Folge + maschinenabhängig) + </entry> + </row> + <row> + <entry>S</entry> + <entry> + vorzeichenloser Short-Typ (immer 16 Bit, Byte-Folge + maschinenabhängig) + </entry> + </row> + <row> + <entry>n</entry> + <entry> + vorzeichenloser Short-Typ (immer 16 Bit, Byte-Folge Big Endian) + </entry> + </row> + <row> + <entry>v</entry> + <entry> + vorzeichenloser Short-Typ (immer 16 Bit, Byte-Folge Little Endian) + </entry> + </row> + <row> + <entry>i</entry> + <entry> + vorzeichenbehaftete Ganzzahl (Größe und Byte-Folge + maschinenabhängig) + </entry> + </row> + <row> + <entry>I</entry> + <entry> + vorzeichenlose Ganzzahl (Größe und Byte-Folge maschinenabhängig) + </entry> + </row> + <row> + <entry>l</entry> + <entry> + vorzeichenbehafteter Long-Typ (immer 32 Bit, Byte-Folge + maschinenabhängig) + </entry> + </row> + <row> + <entry>L</entry> + <entry> + vorzeichenloser Long-Typ (immer 32 Bit, Byte-Folge + maschinenabhängig) + </entry> + </row> + <row> + <entry>N</entry> + <entry> + vorzeichenloser Long-Typ (immer 32 Bit, Byte-Folge Big Endian) + </entry> + </row> + <row> + <entry>V</entry> + <entry> + vorzeichenloser Long-Typ (immer 32 Bit, Byte-Folge Little Endian) + </entry> + </row> + <row> + <entry>f</entry> + <entry> + Gleitkommazahl (maschinenabhängige Größe und Wiedergabe) + </entry> + </row> + <row> + <entry>d</entry> + <entry>Double-Typ (maschinenabhängige Größe und Wiedergabe)</entry> + </row> + <row> + <entry>x</entry> + <entry>NUL Byte</entry> + </row> + <row> + <entry>X</entry> + <entry>geht in der Zeichenkette ein Byte rückwärts</entry> + </row> + <row> + <entry>@</entry> + <entry>NUL-Auffüllung bis zur absoluten Position</entry> + </row> + </tbody> + </tgroup> + </table> + </para> + </listitem> + </varlistentry> + <varlistentry> + <term><parameter>Argumente</parameter></term> + <listitem> + <para> + </para> + </listitem> + </varlistentry> + </variablelist> + </para> + </refsect1> + + <refsect1 role="returnvalues"> + &reftitle.returnvalues; + <para> + Gibt die Daten als Binär-Zeichenkette zurück. + </para> + </refsect1> + + <refsect1 role="examples"> + &reftitle.examples; + <para> + <example> + <title><function>pack</function> Beispiel</title> + <programlisting role="php"> +<![CDATA[ +<?php +$binaerdaten = pack("nvc*", 0x1234, 0x5678, 65, 66); +?> +]]> + </programlisting> <para> - Beachten sie auch, dass PHP intern Ganzzahl-Werte als - vorzeichen-behaftete Werte speichert, deren Umfang vom - Maschinen-Typ abhängig ist. Geben sie PHP einen vorzeichen-losen - Ganzzahl-Wert, der zu groß ist für diese Art der Speicherung, - wird er ins Double-Format umgesetzt, was oft zu unerwünschten - Resultaten führt. + Die sich daraus ergebende Binär-Zeichenkette ist sechs Bytes lang und + enthält die Byte-Folge 0x12, 0x34, 0x78, 0x56, 0x41, 0x42. </para> - </refsect1> - </refentry> + </example> + </para> + </refsect1> + + <refsect1 role="seealso"> + &reftitle.seealso; + <para> + <simplelist> + <member><function>unpack</function></member> + </simplelist> + </para> + </refsect1> + +</refentry> <!-- Keep this comment at the end of the file Local variables:
« previous php.doc.de (#2231) next »