1
0
mirror of https://github.com/php/doc-tr.git synced 2026-03-24 07:12:18 +01:00
Files
2023-03-14 13:34:37 +03:00

337 lines
11 KiB
XML
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<?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>ı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
-->