လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> Hexadecimal IP address များကိုအလိုအလျောက်အကောင်အထည်ဖော်သည့် PHP script ကိုအကောင်အထည်ဖော်ပါ

Hexadecimal IP address များကိုအလိုအလျောက်အကောင်အထည်ဖော်သည့် PHP script ကိုအကောင်အထည်ဖော်ပါ

gitbox 2025-05-28

Hexadecimal IP လိပ်စာကဘာလဲ။

များသောအားဖြင့်ကျွန်ုပ်တို့မြင်ရသော IP address format သည် 192.168.1.1 နှင့်ဆင်တူသည့် decimal ပုံစံဖြစ်သည်။ သို့သော်တစ်ခါတစ်ရံတွင် IP လိပ်စာကိုစဉ်ဆက်မပြတ် hexadecimal string ကိုစဉ်ဆက်မပြတ်ပါ။

 C0A80101

ဤသည်အမှန်တကယ်မှာ 192.168.1.1 ၏ hexadecimal ဖော်ပြချက်ဖြစ်ပါတယ်။

hexadecimal နံပါတ် 2 ခုတိုင်းသည် IP address တွင် byte (8 bit) ကိုကိုယ်စားပြုသည်။

  • c0 = 192

  • A8 = 168

  • 01 = 1

  • 01 = 1

PHP HEXDEC function ကိုအသုံးပြုပြီး hex string ကိုပြောင်းပါ

PHP's Built-in HexDec function သည် HEX ကြိုးများကိုဒ decimal မကိန်းများသို့ပြောင်းလဲနိုင်သည်။ သို့သော်၎င်းသည်နံပါတ်များကိုခြုံငုံသောနံပါတ်ကိုပြောင်းလဲပြီး Hexadecimal IP address ကိုမျဉ်းလေးပိုင်းခွဲခြားရန်တိုက်ရိုက်မသုံးနိုင်ပါ။ ထို့ကြောင့်ကျွန်ုပ်တို့သည် hexadecimal string ကို bits နှစ်ခုဖြင့်ခွဲခြားရန်လိုအပ်ပြီး၎င်းကိုဒ decimal မကိန်းတစ်ခုထဲသို့ပြောင်းလဲရန်လိုအပ်သည်။

PHP scripts နမူနာ

အောက်ဖော်ပြပါ PHP ကို ​​သုံး. 8-bit hexadecimal IP လိပ်စာကိုအောက်ပါ script ကဖော်ပြရမည်။

 <?php
function hexIpToDecimal($hexIp) {
    // စာလုံးအကြီးသို့ထည့်သွင်းထားသော string ကိုပြောင်းပါ,ပေါင်းစည်းပုံစံကိုသေချာပါစေ
    $hexIp = strtoupper($hexIp);
    
    // အရှည်မှန်ကန်သောရှိမရှိစစ်ဆေးပါ(IPv4 ဟုတ်ကဲ့ 8 hexadecimal)
    if (strlen($hexIp) !== 8) {
        return false; // input ပုံစံအမှား
    }
    
    $ipParts = [];
    
    // တိုင်းနှစ်ခုအတွက်အုပ်စုတစ်စု,ဒ decimal မလွှဲပါ
    for ($i = 0; $i < 8; $i += 2) {
        $partHex = substr($hexIp, $i, 2);
        $partDec = hexdec($partHex);
        $ipParts[] = $partDec;
    }
    
    // dotted format နဲ့ spliced
    $decimalIp = implode('.', $ipParts);
    return $decimalIp;
}

// စမ်းသပ်ဥပမာ
$hexIp = "C0A80101";
$decimalIp = hexIpToDecimal($hexIp);
echo "hexadecimalIP: $hexIp ကူးပြောင်းပြီးနောက်: $decimalIp\n"; 
?>

ရလဒ်များအစက်အပြောက်:

 hexadecimalIP: C0A80101 ကူးပြောင်းပြီးနောက်: 192.168.1.1

ကုဒ်ဖော်ပြချက်

  1. ထည့်သွင်းစစ်ဆေးမှု <br> <br> function သည်ပထမ ဦး စွာ Extrexadecimal String သည် 8 bit (IPv4 ၏ 4 bytes နှင့်သက်ဆိုင်သည်) ဖြစ်သည်။

  2. segmented အပြောင်းအလဲနဲ့ <br> <br> byte တစ်ခုကိုကိုယ်စားပြုရန်တစ်ကြိမ်တွင်ဇာတ်ကောင်နှစ်လုံးယူရန် Substr ကို သုံးပါ။

  3. hexadecimal ကိုဒ decimal မမှပြောင်းလဲပါ ဂဏန်းနှစ်လုံးရှိသော hex string ကိုဒ decimal မနံပါတ်သို့ပြောင်းရန် HexDec function ကိုသုံးပါ။

  4. format splicing <br> <br> Converted Decimal နံပါတ် 4 ခုကို DODIMAL နံပါတ်များနှင့်ချိတ်ဆက်ထားသောဒ decimal မ decimal is address များကိုထုတ်လုပ်ရန် DOT နံပါတ်များနှင့်ချိတ်ဆက်ပါ။


extension: hexadecimal IP ကို ​​Separator နဲ့ကိုင်တွယ်ပါ

C0: A8: 01: 01 ကဲ့သို့သော hexadecimal IP address ကို delimited ပါက delimiter ကိုအရင်ဖယ်ရှားနိုင်သည်။ ထို့နောက်၎င်းကိုကိုင်တွယ်ရန်အထက်ပါနည်းလမ်းကိုအသုံးပြုနိုင်သည်။

 $hexIp = str_replace(':', '', 'C0:A8:01:01');
$decimalIp = hexIpToDecimal($hexIp);
echo $decimalIp;  // ထုတ်လုပ်ခြင်း:192.168.1.1

အထက်ပါနည်းလမ်းကို PHP ၏ HexDec function ကို အသုံးပြု. IPXadecimal တွင်ရှိသော Ixadecimal တွင်ရှိသော Ixadecimal Dot-part format ဖြင့်အသုံးပြုသော IP လိပ်စာကိုအလွယ်တကူပြောင်းလဲနိုင်သည်။ ဒီဆောင်းပါးကသင့်ကိုကူညီလိမ့်မယ်လို့မျှော်လင့်ပါတယ်။