mirror of
https://github.com/php/doc-tr.git
synced 2026-03-24 07:12:18 +01:00
337 lines
11 KiB
XML
337 lines
11 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
||
<!-- EN-Revision: 7926717892c5129038097f8a1fa396e209837575 Maintainer: nilgun Status: ready -->
|
||
<refentry xml:id="function.pack" xmlns="http://docbook.org/ns/docbook">
|
||
<refnamediv>
|
||
<refname>pack</refname>
|
||
<refpurpose>Veriyi ikil bir dizge halinde paketler</refpurpose>
|
||
</refnamediv>
|
||
|
||
<refsect1 role="description">
|
||
&reftitle.description;
|
||
<methodsynopsis>
|
||
<type>string</type><methodname>pack</methodname>
|
||
<methodparam><type>string</type><parameter>biçem</parameter></methodparam>
|
||
<methodparam rep="repeat"><type>mixed</type><parameter>değerler</parameter></methodparam>
|
||
</methodsynopsis>
|
||
<para>
|
||
Belirtilen değerleri belirtilen <parameter>biçem</parameter> biçeminde
|
||
bir ikil bir dizge olarak paketler.
|
||
</para>
|
||
<para>
|
||
Anafikir Perl'den alınmış olup, tüm biçemleme kodları Perl'deki gibi
|
||
çalışır. Ancak, biçemleme türleri aynı değildir, örneğin "u" biçemi Perl'de
|
||
yoktur.
|
||
</para>
|
||
<para>
|
||
Şuna dikkat: İşaretli ve işaretsiz değerler arasındaki ayrım sadece
|
||
<function>unpack</function> işlevini etkiler. <function>pack</function>
|
||
işlevi her ikisi için de aynı sonuçları üretir.
|
||
</para>
|
||
</refsect1>
|
||
|
||
<refsect1 role="parameters">
|
||
&reftitle.parameters;
|
||
<para>
|
||
<variablelist>
|
||
<varlistentry>
|
||
<term><parameter>biçem</parameter></term>
|
||
<listitem>
|
||
<para>
|
||
<parameter>biçem</parameter> dzgesi isteğe bağlı bir yineleme
|
||
bağımsız değişkeni ile öncelenmiş biçem kodlarından oluşur. Yineleme
|
||
bağımsız değişkeni bir tamsayı değer veya girdi verisinin sonuna kadar
|
||
yineleme belirten bir <literal>*</literal> olabilir. a, A, h, H için
|
||
yineleme sayısı, bir veri bağımsız değişkeninden kaç karakter alındığını
|
||
belirtir. @ için yineleme sayısı ise, sonraki verinin konacağı mutlak
|
||
konumu belirtir. Bunlar dışında kalan herşey için yineleme sayısı,
|
||
sonuçlanan ikil dizgede paketlenmek üzere kaç tane veri argümanın
|
||
toplanacağını belirtir.
|
||
</para>
|
||
<para>
|
||
Şimdilik gerçeklenmiş biçemler:
|
||
<table>
|
||
<title><function>pack</function> biçem karakterleri</title>
|
||
<tgroup cols="2">
|
||
<thead>
|
||
<row>
|
||
<entry>Kod</entry>
|
||
<entry>Açıklama</entry>
|
||
</row>
|
||
</thead>
|
||
<tbody>
|
||
<row>
|
||
<entry>a</entry>
|
||
<entry>NUL-dolgulu dizge</entry>
|
||
</row>
|
||
<row>
|
||
<entry>A</entry>
|
||
<entry>BOŞLUK dolgulu dizge</entry></row>
|
||
<row>
|
||
<entry>h</entry>
|
||
<entry>Onaltılık dizge, küçük dörtlü önce gelir</entry></row>
|
||
<row>
|
||
<entry>H</entry>
|
||
<entry>Onaltılık dizge, büyük dörtlü önce gelir</entry></row>
|
||
<row>
|
||
<entry>c</entry>
|
||
<entry>işaretli bayt</entry></row>
|
||
<row>
|
||
<entry>C</entry>
|
||
<entry>işaretsiz bayt</entry></row>
|
||
<row>
|
||
<entry>s</entry>
|
||
<entry>İşaretli kısa tamsayı (daima 16 bit olup, makine bayt
|
||
sıralamasındadır)</entry>
|
||
</row>
|
||
<row>
|
||
<entry>S</entry>
|
||
<entry>İşaretsiz kısa tamsayı (daima 16 bit olup, makine bayt
|
||
sıralamasındadır)</entry>
|
||
</row>
|
||
<row>
|
||
<entry>n</entry>
|
||
<entry>İşaretsiz kısa tamsayı (daima 16 bit olup, en değerli bayt
|
||
baştadır)</entry>
|
||
</row>
|
||
<row>
|
||
<entry>v</entry>
|
||
<entry>İşaretsiz kısa tamsayı (daima 16 bit olup, en değersiz bayt
|
||
baştadır)</entry>
|
||
</row>
|
||
<row>
|
||
<entry>i</entry>
|
||
<entry>İşaretli tamsayı (boyut ve bayt sıralaması makineye bağlıdır)
|
||
</entry>
|
||
</row>
|
||
<row>
|
||
<entry>I</entry>
|
||
<entry>İşaretsiz tamsayı (boyut ve bayt sıralaması makineye
|
||
bağlıdır)</entry>
|
||
</row>
|
||
<row>
|
||
<entry>l</entry>
|
||
<entry>İşaretli uzun tamsayı (daima 32 bit olup, makine bayt
|
||
sıralamasındadır)</entry>
|
||
</row>
|
||
<row>
|
||
<entry>L</entry>
|
||
<entry>İşaretsiz uzun tamsayı (daima 32 bit olup, makine bayt
|
||
sıralamasındadır)</entry>
|
||
</row>
|
||
<row>
|
||
<entry>N</entry>
|
||
<entry>İşaretsiz uzun tamsayı (daima 32 bit olup, en değerli bayt
|
||
baştadır)</entry>
|
||
</row>
|
||
<row>
|
||
<entry>V</entry>
|
||
<entry>İşaretsiz uzun tamsayı (daima 32 bit olup, en değersiz bayt
|
||
baştadır)</entry>
|
||
</row>
|
||
<row>
|
||
<entry>q</entry>
|
||
<entry>İşaretli çok uzun tamsayı (daima 64 bit olup, makine bayt
|
||
sıralamasındadır)</entry>
|
||
</row>
|
||
<row>
|
||
<entry>Q</entry>
|
||
<entry>İşaretsiz çok uzun tamsayı (daima 64 bit olup, makine bayt
|
||
sıralamasındadır)</entry>
|
||
</row>
|
||
<row>
|
||
<entry>J</entry>
|
||
<entry>İşaretsiz çok uzun tamsayı (daima 64 bit olup, en değerli bayt
|
||
baştadır)</entry>
|
||
</row>
|
||
<row>
|
||
<entry>P</entry>
|
||
<entry>unsigned long long (daima 64 bit olup, en değersiz bayt
|
||
baştadır)</entry>
|
||
</row>
|
||
<row>
|
||
<entry>f</entry>
|
||
<entry>Tek hassasiyetli gerçek sayı - float (boyut ve gösterim
|
||
makineye bağlıdır)</entry>
|
||
</row>
|
||
<row>
|
||
<entry>g</entry>
|
||
<entry>Tek hassasiyetli gerçek sayı (boyut makineye bağlı, en değersiz
|
||
bayt baştadır)</entry>
|
||
</row>
|
||
<row>
|
||
<entry>G</entry>
|
||
<entry>Tek hassasiyetli gerçek sayı (boyut makineye bağlı, en değerli
|
||
bayt baştadır)</entry>
|
||
</row>
|
||
<row>
|
||
<entry>d</entry>
|
||
<entry>Çift hassasiyetli gerçek sayı - double (boyut ve gösterim
|
||
makineye bağlıdır)</entry>
|
||
</row>
|
||
<row>
|
||
<entry>e</entry>
|
||
<entry>Çift hassasiyetli gerçek sayı (boyut makineye bağlı, en
|
||
değersiz bayt baştadır)</entry>
|
||
</row>
|
||
<row>
|
||
<entry>E</entry>
|
||
<entry>Çift hassasiyetli gerçek sayı (boyut makineye bağlı, en değerli
|
||
bayt baştadır)</entry>
|
||
</row>
|
||
<row>
|
||
<entry>x</entry>
|
||
<entry>NUL bayt (0. karakter)</entry>
|
||
</row>
|
||
<row>
|
||
<entry>X</entry>
|
||
<entry>Bir baytlık yedek</entry>
|
||
</row>
|
||
<row>
|
||
<entry>Z</entry>
|
||
<entry>NUL dolgulu dizge</entry>
|
||
</row>
|
||
<row>
|
||
<entry>@</entry>
|
||
<entry>Bir mutlak konuma kadar NUL dolgu</entry>
|
||
</row>
|
||
</tbody>
|
||
</tgroup>
|
||
</table>
|
||
</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term><parameter>değerler</parameter></term>
|
||
<listitem>
|
||
<para>
|
||
</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
</para>
|
||
</refsect1>
|
||
|
||
<refsect1 role="returnvalues">
|
||
&reftitle.returnvalues;
|
||
<para>
|
||
Başarı durumunda veriyi içeren ikil bir dizge.
|
||
</para>
|
||
</refsect1>
|
||
|
||
<refsect1 role="changelog"><!-- {{{ -->
|
||
&reftitle.changelog;
|
||
<para>
|
||
<informaltable>
|
||
<tgroup cols="2">
|
||
<thead>
|
||
<row>
|
||
<entry>&Version;</entry>
|
||
<entry>&Description;</entry>
|
||
</row>
|
||
</thead>
|
||
<tbody>
|
||
<row>
|
||
<entry>8.0.0</entry>
|
||
<entry>
|
||
Başarısızlık durumunda artık &false; dönmüyor.
|
||
</entry>
|
||
</row>
|
||
<row>
|
||
<entry>7.2.0</entry>
|
||
<entry>
|
||
<type>float</type> ve <type>double</type> türlerin ikisininde değerli
|
||
baytları başta ve sonda olabiliyor.
|
||
</entry>
|
||
</row>
|
||
<row>
|
||
<entry>7.0.15,7.1.1</entry>
|
||
<entry>
|
||
<type>float</type> ve <type>double</type> türler için bayt sıralaması
|
||
desteğini sağlayan "e", "E", "g" ve "G" kodları eklendi.
|
||
</entry>
|
||
</row>
|
||
</tbody>
|
||
</tgroup>
|
||
</informaltable>
|
||
</para>
|
||
</refsect1><!-- }}} -->
|
||
|
||
<refsect1 role="examples">
|
||
&reftitle.examples;
|
||
<para>
|
||
<example>
|
||
<title>- <function>pack</function> örneği</title>
|
||
<programlisting role="php">
|
||
<![CDATA[
|
||
<?php
|
||
$ikilveri = pack("nvc*", 0x1234, 0x5678, 65, 66);
|
||
?>
|
||
]]>
|
||
</programlisting>
|
||
<para>
|
||
Elde edilen ikil dizge 6 bayt uzunlukta olur ve sırayla 0x12, 0x34, 0x78,
|
||
0x56, 0x41, 0x42 baytlarını içerir.
|
||
</para>
|
||
</example>
|
||
</para>
|
||
</refsect1>
|
||
|
||
<refsect1 role="notes">
|
||
&reftitle.notes;
|
||
<caution>
|
||
<para>
|
||
PHP'nin dahili olarak <type>int</type> değerlerini, boyutu makineye bağlı
|
||
işaretli değerler(C türü: <literal>long</literal>) olarak sakladığını unutmayın. <type>int</type> türünün sınırları dışında sayılar veren
|
||
tamsayı değişmezleri ve işlemleri <type>float</type> olarak saklanır. Bu
|
||
kayan noktalı sayılar, tamsayı olarak paketlenirken önce tamsayı türüne
|
||
dönüştürülür. Bu, her zaman istenen bayt gösterimiyle sonuçlanmayabilir.
|
||
</para>
|
||
<para>
|
||
En alakalı durum, işaretsiz <type>int</type> türüyle temsil edilebilecek
|
||
işaretsiz sayıların paketlenmesidir. <type>int</type> türünün 32 bit
|
||
boyuta sahip olduğu sistemlerde, dönüştürme genellikle işaretsiz
|
||
<type>int</type> bayt gösterimiyle sonuçlanır (bu, C standardına göre
|
||
gerçeklenimle tanımlı işaretsizden işaretliye dönüşüm işlemlerine dayanır).
|
||
<type>int</type> türünün 64 bit olduğu sistemlerde, <type>float</type>
|
||
türü bu değerleri büyük olasılıkla hassasiyet kaybı olmadan tutacak kadar
|
||
büyük bir mantise sahip değildir. Bu sistemlerde yerel 64 bitlik C
|
||
<type>int</type> türü varsa (çoğu UNIX benzeri sistemde yoktur), üst
|
||
aralıkta <literal>I</literal> pack biçemini kullanmanın tek yolu, istenen
|
||
işaretsiz değer olarak, aynı bayt gösterimine sahip negatif
|
||
<type>int</type> değerler oluşturmaktır.
|
||
</para>
|
||
</caution>
|
||
</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:
|
||
mode: sgml
|
||
sgml-omittag:t
|
||
sgml-shorttag:t
|
||
sgml-minimize-attributes:nil
|
||
sgml-always-quote-attributes:t
|
||
sgml-indent-step:1
|
||
sgml-indent-data:t
|
||
indent-tabs-mode:nil
|
||
sgml-parent-document:nil
|
||
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
|
||
sgml-exposed-tags:nil
|
||
sgml-local-catalogs:nil
|
||
sgml-local-ecat-files:nil
|
||
End:
|
||
vim600: syn=xml fen fdm=syntax fdl=2 si
|
||
vim: et tw=78 syn=sgml
|
||
vi: ts=1 sw=1
|
||
-->
|