အဓိပ္ပါယ်နှင့်အသုံးပြုမှု
unpack()
function ကို binary string ကိုမှဒေတာကိုဖြည်။
နမူနာ
ဥပမာ 1
binary string မှအချက်အလက်များကို unpack:
<? PHP
$ ဒေတာ = "PHP" ;
Print_r ( ဖြည့်စွက် ( "C *" , $ ဒေတာ ) ) ;
>
သင်ကိုယ်တိုင်စမ်းကြည့်ပါ
ဥပမာ 2
အချက်အလက်များကိုဖြုတ်ချခြင်း -
<? PHP
$ ဒေတာ = "PHP" ;
Print_r ( C * Myint " , $ ဒေ တာ ) )
>
သင်ကိုယ်တိုင်စမ်းကြည့်ပါ
ဥပမာ 3
အချက်အလက်များကိုဖြုတ်ချခြင်း -
<? PHP
$ bin = pack ( "C2N2" , 0x1234 , 0x5678 , 65 , 66 ) ,
Print_r ( unpack ( "c2chars / n2int" , $ bin ) ) ;
>
သင်ကိုယ်တိုင်စမ်းကြည့်ပါ
သဒ္ဒါ
ဖြည် ( ပုံစံ , အချက်အလက် , offset )
တေးရေး |
ဖေါ်ပြ |
ပမာဏ
|
လိုအပ်ပါတယ် ဒေတာကိုဖြည်သောအခါအသုံးပြုသည့်ပုံစံကိုသတ်မှတ်သည်။ |
အချက်များ
|
optional ကို။ ဖြည်ရန် binary ဒေတာကိုဖေါ်ပြသည်။ |
စိတ်တေစေ
|
optional ကို။ unpacking စတင်ရန်ဘယ်မှာသတ်မှတ်ပါ။ ပုံမှန်က 0 ။ |
format parameter သည်အတွက်ဖြစ်နိုင်သောတန်ဖိုးများ:
- a - Nul-padded string ကို
- A - အာကာသ - padded string ကို
- H - HEX String, ရှေ့တွင်အနိမ့် nibble
- H - Hex String, ရှေ့တွင်မြင့်မားသော nibble
- C - signed ဇာတ်ကောင်
- C - လက်မှတ်မထိုးဇာတ်ကောင်
- S - လက်မှတ်ထိုးထားသော Integer (Machible 16 bitste အမှာစာ)
- S - လက်မှတ်မထိုးထားသောကိန်းတို (အမြဲတမ်း 16-bits, စက် byte အမိန့်)
- N - လက်မှတ်မထိုးထားသောကိန်းတို (အစဉ်မပြတ် 16-bit, big-endian byte အမိန့်)
- v - လက်မှတ်မထိုးထားသောတိုတောင်းသောကိန်း (အစဉ်မပြတ် 16-bit, နည်းနည်း endian byte အမိန့်)
- i - လက်မှတ်ရေးထိုးခဲ့သည့်ကိန်း (စက်နှင့်ဆက်စပ်သောအရွယ်အစားနှင့် byte အမိန့်)
- i - လက်မှတ်မထိုးထားသောကိန်း (စက်နှင့်ဆက်စပ်သောအရွယ်အစားနှင့် byte အမိန့်)
- L - လက်မှတ်ထိုးထားသောရှည်လျားသောကိန်း (အမြဲတမ်း 32 bits, စက် byte အမိန့်)
- L - လက်မှတ်မထိုးထားသောရှည်လျားသောကိန်း (အမြဲတမ်း 32 bits, စက် byte အမိန့်)
- n - လက်မှတ်မထားသောရှည်လျားသောကိန်းဂဏန်းများ (အစဉ်မပြတ် 32 bits, Big Endian Byte အမိန့်)
- v - လက်မှတ်မထားသောရှည်လျားသောကိန်းဂဏန်းများ (အမြဲတမ်း 32 bits, little 32 bits)
- Q - Long Integer (အမြဲတမ်း 64 bits, machine byte အမိန့်)
- Q - လက်မှတ်မထိုးထားသောရှည်လျားသောကိန်းဂဏန်းများ (အမြဲတမ်း 64 bits, machine byte အမိန့်)
- j - လက်မှတ်မထားသောရှည်လျားသောကိန်းဂဏန်းများ (အစဉ်မပြတ် 64 bits, big endian byte အမိန့်)
- P - လက်မှတ်မထိုးထားသောရှည်လျားသောကိန်းဂဏန်းများ (အစဉ်အမြဲ endian byte အမိန့်)
- F - floating point နံပါတ် (စက်နှင့်ဆက်စပ်သောအရွယ်အစားနှင့်ကိုယ်စားပြုမှု)
- g - floating point နံပါတ် (စက်နှင့်ဆက်စပ်သောအရွယ်အစား, နည်းနည်း endian byte အမိန့်)
- G - floating point နံပါတ် (စက်နှင့်ဆက်စပ်သောအရွယ်အစား, Big-endian byte အမိန့်)
- D - နှစ်ဆတိကျသောရေပေါ်အမှတ်အသားနံပါတ် (စက်နှင့်ဆက်စပ်သောအရွယ်အစားနှင့်ကိုယ်စားပြုမှု)
- E - နှစ်ဆတိကျသောရေပေါ်အမှတ်အသားနံပါတ် (စက်နှင့်ဆက်စပ်သောအရွယ်အစား, နည်းနည်း endian byte အမိန့်)
- အီး - နှစ်ဆတိကျသောရေပေါ်အမှတ်အသားနံပါတ် (စက်နှင့်ဆက်စပ်သောအရွယ်အစား, big-endian byte အမိန့်)
- x - nul bytes
- x - တစ် ဦး byte rewind
- Z - Nul-padded string ကို
- @ - အကြွင်းမဲ့အာဏာအနေအထားသို့ nul-fill