လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> ဒေတာ encoding နှင့် decoding ကိုအကောင်အထည်ဖော်ရန် MB_Code_Numericality နှင့် MB_Decode_Numericality ကိုအသုံးပြုနည်း။

ဒေတာ encoding နှင့် decoding ကိုအကောင်အထည်ဖော်ရန် MB_Code_Numericality နှင့် MB_Decode_Numericality ကိုအသုံးပြုနည်း။

gitbox 2025-06-10

1 ။ mb_encode_numericalityity function ကိုမိတ်ဆက်

MB_Code_Numericalityity သည်သတ်မှတ်ထားသောအကွာအဝေးကိုသတ်မှတ်ထားသောအကွာအဝေးသို့စာများတပ်ဆင်ရန်အသုံးပြုသည်။ ကိန်းဂဏန်း Entity format သည် နှင့် # xxxx နှင့်ဆင်တူသည်။ HTML တွင် XXXX သည် စရိုက်နှင့်သက်ဆိုင်သောယူနီကုဒ်ကုဒ်အမှတ်ဖြစ်သည်။

function ရှေ့ပြေးပုံစံ:

 string mb_encode_numericentity(string $str, array $convmap, string $encoding = mb_internal_encoding(), bool $is_hex = false)
  • $ str : encoded ခံရဖို့ string ကို။

  • $ Concmap : မြေပုံ array ကို encoded ဖို့လိုအပ်တဲ့နေရာကိုပြောင်းရန်မြေပုံခင်းကျင်းပြောင်းခြင်း။ အဆိုပါပုံစံသည်ကိန်းဂဏန်းလေး၏အုပ်စုဖြစ်ပြီး start code point, အဆုံးကုဒ်အမှတ်, offset code point နှင့် code ကိုတန်ဖိုးများကိုကိုယ်စားပြုသည်။

  • $ encoding : string encoding, internal encoding မှ default ။

  • $ is_hex : အကယ်. မှန်ကန် ရန်သတ်မှတ်ထားပါက hexadecimal တွင်ကိန်းဂဏန်းအဖွဲ့အစည်းကိုကိုယ်စားပြုသည်။


2 ။ MB_Decode_NumeraleNentity function ကိုနိဒါန်း

MB_Decode_Numericalityity သည်ကြိုးများကို nustical entity format ရှိကြိုးများကိုမူလ Multibyte Strings သို့ပြန်သွားရန်အသုံးပြုသည်။

function ရှေ့ပြေးပုံစံ:

 string mb_decode_numericentity(string $str, array $convmap, string $encoding = mb_internal_encoding())
  • $ str : decoded ခံရဖို့ string ကို။

  • $ Concmap : MB_Code_NumeraleTity ကဲ့သို့ပင်မြေပုံခင်းကျင်းမှုကိုပြောင်းလဲခြင်း။

  • $ encoding : string encoding ။


3 ။ လက်တွေ့ကျတဲ့ဥပမာ - တရုတ်စာလုံးများကို encoding နှင့် decoding

ကျွန်ုပ်တို့သည်တရုတ်ပါ 0 င်သော string တစ်ခု encode လုပ်ရန်လိုသည်ဆိုပါစို့။

 <?php
// အသွင်ပြောင်းမြေပုံကိုသတ်မှတ်ပါ,အသုံးပြုလေ့တရုတ်ဇာတ်ကောင် encoding အကွာအဝေးလွှမ်းခြုံ
$convmap = [0x4E00, 0x9FFF, 0, 0xFFFF];

// encoded ခံရဖို့ string ကို
$str = "မင်္ဂလာပါ,ကမ်ာဘ!Hello World!";

// ကုဒ်,တရုတ်စာလုံးများကိုကိန်းဂဏန်းများအဖြစ်ပြောင်းလဲပါ
$encoded = mb_encode_numericentity($str, $convmap, "UTF-8");

echo "ကုဒ်后:\n" . $encoded . "\n";

// decoding,ဂဏန်းများကိုတရုတ်အက္ခရာများပြန်ယူပါ
$decoded = mb_decode_numericentity($encoded, $convmap, "UTF-8");

echo "decoding后:\n" . $decoded . "\n";
?>

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

 ကုဒ်后:
&#20320;&#22909;,&#19990;&#30028;!Hello World!
decoding后:
မင်္ဂလာပါ,ကမ်ာဘ!Hello World!

4 ။ URL လျှောက်လွှာအခြေအနေများနှင့်ပေါင်းစပ်သည်

တခါတရံတွင်ကျွန်ုပ်တို့သည် URL ၏အစိတ်အပိုင်းများကို Multibyte ဇာတ်ကောင်များနှင့် encode လုပ်ရန်လိုအပ်သည်။ ဤတွင် URL တွင်လမ်းကြောင်းတစ်ခုအတွက် path encoding ကို သုံး. ၎င်းကိုပြန်လှည့်ပါ။

 <?php
$convmap = [0x4E00, 0x9FFF, 0, 0xFFFF];

$url = "https://gitbox.net/ခေြလမ်း/စမ်းသပ်မှု";

// 只对ခေြလမ်း部分ကုဒ်
$parsed = parse_url($url);
$encoded_path = mb_encode_numericentity(urldecode($parsed['path']), $convmap, "UTF-8");

// 拼接ကုဒ်后的 URL
$encoded_url = $parsed['scheme'] . "://" . $parsed['host'] . $encoded_path;

echo "ကုဒ်后的 URL:\n" . $encoded_url . "\n";

// decodingခေြလမ်း
$decoded_path = mb_decode_numericentity($encoded_path, $convmap, "UTF-8");

// ပြည့်စုံ restore URL
$decoded_url = $parsed['scheme'] . "://" . $parsed['host'] . $decoded_path;

echo "decoding后的 URL:\n" . $decoded_url . "\n";
?>

ထုတ်လုပ်မှု -

 ကုဒ်后的 URL:
https://gitbox.net/&#36710;&#x8def;/&#27979;&#35797;
decoding后的 URL:
https://gitbox.net/ခေြလမ်း/စမ်းသပ်မှု

5 ။ အကျဉ်းချုပ်

  • MB_Code_Numeralyentity သည် သတ်မှတ်ထားသောအကွာအဝေးအတွင်းရှိအက္ခရာများကိုဂဏန်းများကိုကိန်းဂဏန်းများ encoding သို့ပြောင်းလဲနိုင်သည်။

  • MB_Decode_Numeralyentity သည် encoded numerical entity ကိုသက်ဆိုင်ရာ Multibyte ဇာတ်ကောင်များသို့ပြန်လည်ထူထောင်ရန်အတွက်တာဝန်ရှိသည်။

  • ဤရွေ့ကားလုပ်ဆောင်ချက်နှစ်ခုကိုတစ် ဦး နှင့်တစ် ဦး တွဲဖက်ချိတ်ဆက်ထားပြီး string encoding encoding ပြ issues နာများကိုဘာသာစကားမျိုးစုံပတ် 0 န်းကျင်တွင်ကိုင်တွယ်ဖြေရှင်းသည့်အခါအလွန်အဆင်ပြေပါသည်။

ဤလုပ်ဆောင်ချက်နှစ်ခုကိုကျွမ်းကျင်စေခြင်းသည် Multi-byte string processing ၏ပြောင်းလွယ်ပြင်လွယ်မှုနှင့်လုံခြုံမှုကိုများစွာတိုးတက်စေနိုင်သည်။