PHP ၏ hexdec function သည် hex string parameter ကိုယူပြီးသက်ဆိုင်ရာဒ decimal မကိန်းကိုပြန်လည်ပေးအပ်သည်။ ဥပမာအားဖြင့်:
$port = hexdec("1F90"); // ပြန်လာ8080
ဤလုပ်ဆောင်ချက်သည် TCP / UDP port နံပါတ်ကဲ့သို့သောနယ်ပယ်ကိုခွဲခြမ်းစိတ်ဖြာခြင်းသည်အချို့သော protocol headers ရှိ Flag-bits ကဲ့သို့သောနယ်ပယ်ကိုခွဲခြမ်းစိတ်ဖြာခြင်းအတွက်အကောင်းဆုံးဖြစ်သည်။
ကျွန်ုပ်တို့တွင်အောက်ပါအတိုင်း Hexadecimal ပုံစံတွင် Hexadecimal ပုံစံတွင်ကိုယ်စားပြုသောကွန်ယက် packet တစ်ခုရှိသည်ဆိုပါစို့။
47 42 01 00 1F 90 00 50
အဓိပ္ပာယ်ဖွင့်ဆိုချက်များမှာအောက်ပါအတိုင်းဖြစ်သည် -
byte 0-1: protocol အမှတ်အသား (ASCII ဇာတ်ကောင်)
byte 2: ဗားရှင်းနံပါတ်
byte 3: bit ကို reserved
byte 4-5: source port
BYTE 6-7: destination port
ဒီခေါင်းစဉ်သတင်းအချက်အလက်ကိုခွဲခြမ်းစိတ်ဖြာရန် PHP ကိုအသုံးပြုရန်ကျွန်ုပ်တို့မျှော်လင့်ပါသည်။
$hexString = "474201001F900050";
// ဇာတ်ကောင်နှစ်လုံးအားဖြင့်တ ဦး တည်း byte byte သို့ဖြတ်
$bytes = str_split($hexString, 2);
// protocol အမှတ်အသား(ဇာတ်ကောင်များပြောင်းပါ)
$protocol = chr(hexdec($bytes[0])) . chr(hexdec($bytes[1]));
// ဗားရှင်းနံပါတ်
$version = hexdec($bytes[2]);
// အရင်းအမြစ်ဆိပ်ကမ်း(ဒရယ်4-5,တစ်ခုသို့ပေါင်းစပ်16bits အရေအတွက်)
$sourcePort = hexdec($bytes[4] . $bytes[5]);
// နေရာချထားရေးဆိပ်ကမ်း(ဒရယ်6-7)
$destPort = hexdec($bytes[6] . $bytes[7]);
echo "တည်ဆောက်မှု: $protocol\n";
echo "ထင်မြင်ချက်: $version\n";
echo "အရင်းအမြစ်ဆိပ်ကမ်း: $sourcePort\n";
echo "နေရာချထားရေးဆိပ်ကမ်း: $destPort\n";
output ရလဒ် -
တည်ဆောက်မှု: GB
ထင်မြင်ချက်: 1
အရင်းအမြစ်ဆိပ်ကမ်း: 8080
နေရာချထားရေးဆိပ်ကမ်း: 80
ဥပမာအားဖြင့်, Gitbox.net ရှိ Network Prose interface မှ RAW Packet ကိုယူပြီး Hexadecimal Form တွင်ပြန်လာသည်။ အောက်ပါနည်းလမ်းကို အသုံးပြု. ၎င်းကိုသင်ကိုင်တွယ်နိုင်သည်။
$url = "https://gitbox.net/api/capture?id=123";
$response = file_get_contents($url);
$hexString = bin2hex($response); // 假设ပြန်လာ的是二进制数据
$bytes = str_split($hexString, 2);
// ထို့နောက်အသုံးပြုပါ hexdec Field-by-field ခွဲခြမ်းစိတ်ဖြာ
HexDec ၏ parameter သည် 0x နှင့်စတင်ရန်မလိုအပ်ပါ။
အကယ်. သင်သည် byte stream နှင့်ဆက်ဆံနေပါက byte အမိန့် (Big Endian သို့မဟုတ် Slendian) သည်ခွဲခြမ်းစိတ်ဖြာရလဒ်များကိုအကျိုးသက်ရောက်နိုင်သည်ကိုသတိပြုပါ။
ရှည်လျားသောကိန်းနယ်ပယ်များအတွက် (IPv6 လိပ်စာများရှိကွက်လပ်များကဲ့သို့) တွင် HexDec သည် နံပါတ်များကိုကိုင်တွယ်ရန် GMP သို့မဟုတ် BC သင်္ချာ Extension လိုအပ်သည်။