လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> Pack () + bin2hex () အချက်အလက် encoding ပြောင်းလဲခြင်းကိုအကောင်အထည်ဖော်

Pack () + bin2hex () အချက်အလက် encoding ပြောင်းလဲခြင်းကိုအကောင်အထည်ဖော်

M66 2025-06-05

PHP Development, POST () နှင့် bin2hex () နှင့် bin2hex () တွင်ဒေတာပြုပြင်ခြင်းနှင့် encoding ပြောင်းလဲခြင်းအတွက် built-in functions နှစ်ခုဖြစ်သည်။ အထူးသဖြင့် binary data, file stritting, file contracting packaging နှင့်အခြားအခြေအနေများတွင်အထူးအသုံးဝင်သည်။ ဤဆောင်းပါးသည်ဤလုပ်ဆောင်မှုနှစ်ခုကို အသုံးပြု. အချက်အလက်များကို အသုံးပြု. အချက်အလက်များ encoding ပြောင်းလဲခြင်းကိုအကောင်အထည်ဖော်ရန်မည်သို့ပေါင်းစပ်မည်ကိုအသေးစိတ်မိတ်ဆက်ပေးလိမ့်မည်။

1 ။ နိဒါန်း Pack () function ကို

pack () function ကို function ကို binary string ကိုထည့်သွင်းရန်အသုံးပြုသည်။ အခြေခံ syntax သည်အောက်ပါအတိုင်းဖြစ်သည် -

 string pack(string $format, mixed $values)
  • $ format သည်ဒေတာထုပ်ပိုးပုံကိုဆုံးဖြတ်သည့် format string ကိုဆိုလိုသည်။

  • $ တန်ဖိုးများသည် ထုပ်ပိုးရန်အမှန်တကယ်ဒေတာဖြစ်သည်။ ၎င်းသည်တစ်ခုသို့မဟုတ်တစ်ခုထက် ပို. ဖြစ်နိုင်သည်။

အသုံးများသောပုံစံအက္ခရာများတွင် -

ပမာဏ ဥပမာပြပါ
လက်မှတ်မရသောဇာတ်ကောင်များ (8 bits)
n လက်မှတ်မထိုးထားသောကိန်းတို (16-bit, big-endian)
n လက်မှတ်မထိုးထားသောရှည်လျားသောကိန်း (32-bit, big endian)
h * hexadecimal string ကို (မြင့်မားသောဂဏန်းများပထမ ဦး ဆုံးဖြစ်ကြသည်)

ဥပမာ -

 $binary = pack('N', 123456);

ဤကုဒ်နံပါတ်သည် 123456 ကို 4-byte binary string (network endianness) သို့ထုပ်ပိုးထားသည်။

2 ။ Bin2hex () function ကိုမိတ်ဆက်

Bin2HEX () function ကို binary data ကို hexadecimal ကိုကိုယ်စားပြုသည့် string တစ်ခုအဖြစ်ပြောင်းလဲရန်အသုံးပြုသည်။ ၎င်း၏ syntax သည်အောက်ပါအတိုင်းဖြစ်သည် -

 string bin2hex(string $string)

၎င်းသည် Binary Content ကို debugging သို့မဟုတ်ပြသရန်အတွက်အထူးသဖြင့်အသုံးဝင်သည်။ ဥပမာအားဖြင့်:

 $binary = pack('C*', 0x12, 0xAB, 0x34);
$hex = bin2hex($binary);
echo $hex; // ထုတ်လုပ်ခြင်း:12ab34

3 ။ Coding ပြောင်းလဲခြင်းကိုအကောင်အထည်ဖော်ရန်ပေါင်းစပ်ပါ

အမှန်တကယ်ဖွံ့ဖြိုးမှုတွင် Pack () နှင့် bin2hex () ကိုပေါင်းစပ်အသုံးပြုကြသည်။ ဥပမာအားဖြင့်, binary protocol လိုအပ်သည့် interface တစ်ခုသို့ interger ID သို့ပေးပို့သည့်အခါ ID ကို binary pack ကို အသုံးပြု. စာဝှက်ထားနိုင်ပြီး bin2hex () ကို သုံး. ပုံနှိပ်နိုင်သော hex string ကိုပြောင်းလဲနိုင်သည်။

 $id = 123456;
$packed = pack('N', $id);       // လှည့် 4 byte Big-endian binary
$hex = bin2hex($packed);        // လှည့်十六进制
echo $hex;                      // ထုတ်လုပ်ခြင်း:0001e240

ဤလုပ်ငန်းစဉ်သည် protocol တွင်လိုအပ်သောမှတ်ပုံတင်အကွက်များကိုထုတ်လုပ်ရန်သို့မဟုတ်လက်မှတ်, စာဝှက်ခြင်းနှင့်အခြားရည်ရွယ်ချက်များအတွက်အသုံးပြုနိုင်သည်။

4 ။ decoding ဥပမာ: hex ကိန်းဂဏန်းများသို့ပြန်သွားသည်

တခါတရံမှာမင်းက hexadecimal string ကိုရတယ် (ဥပမာ api: https:// mps :/m66.net/api/api/api/api/api/api/api/api/ape/api/api/ape/api/api/ape/api/api/api/api/api/api/api/ape/ape/appi/api/api/api/api/ape/api/api/ape/api/api/api/api/pi/pi/getid) ကိုပြန်ယူရန်လိုအပ်သည်။ သင် hex2bin () ကို သုံး. ဤအချိန်တွင် unpack () ကို သုံးနိုင်သည်။

 $hex = '0001e240';
$binary = hex2bin($hex);
$data = unpack('Nid', $binary);
echo $data['id']; // ထုတ်လုပ်ခြင်း:123456

Unpack () အထုပ် ၏ပြောင်းပြန်စစ်ဆင်ရေးဖြစ်ပါတယ်။ ဤနေရာတွင် Nid အမျိုးအစားသည် 32-bit bit-endian integer ကိုဖတ်ရှုခြင်းနှင့် variable name သည် ID ဖြစ်သည်။

5 ။ လျှောက်လွှာဇာတ်လမ်းတစ်ပုဒ်

  1. ကွန်ယက်ဆက်သွယ်ရေး protocol packet ကိုဖြည်

  2. စာဝှက်ထားတဲ့ဆက်သွယ်ရေးအတွက်ဒေတာအမိန့်တွက်ချက်မှု

  3. qr codes များ, iot device data များကဲ့သို့သော hexadecimal ဒေတာပုံစံများကိုထုတ်လုပ်ပါ

  4. binary ဖိုင်ပုံစံများကိုဖတ်ပါ

အကျဉ်းချုပ်

POSPEX () နှင့် bin2hex () သည် PHP ရှိ PHP တွင်အစွမ်းထက်သောကိရိယာများဖြစ်သည်။ သူတို့ရဲ့ formating စည်းမျဉ်းစည်းကမ်းတွေကိုနားလည်ခြင်းသည်ကွန်ယက်ပရိုတိုကောများ, ဒေတာချုံ့ခြင်းနှင့်စနစ်ပေါင်းစည်းမှုကိုကိုင်တွယ်ဖြေရှင်းရာတွင်သင့်အားလွယ်ကူစွာကူညီနိုင်သည်။ ဤလုပ်ဆောင်ချက်နှစ်ခုကိုကျွမ်းကျင်ခြင်းသည်သင်၏ coding စွမ်းဆောင်ရည်ကိုတိုးတက်စေရုံသာမကနောက်ခံအချက်အလက်ကိုယ်စားပြုမှုကိုသင်၏နားလည်မှုကိုပိုမိုကျယ်ပြန့်စေသည်။