URL Encoder/Decoder + HTML Entity များ

URL များကို encode လုပ်ပါ၊ percent escape များကို decode လုပ်ပါ၊ နှင့် HTML entity များကို escape လုပ်ပါ။

ကိရိယာ
လုပ်ဆောင်ချက်
URL နယ်ပယ် (scope)
ထည့်သွင်းမှု
ရလဒ်
အဆင်သင့်ဖြစ်ပါပြီ။ စာသားကို ကူးယူထည့်သွင်းပြီး လုပ်ဆောင်ချက်တစ်ခုကို ရွေးချယ်ပါ။

သင့် URL နှင့် HTML စာသားများကို သင့်ဘရောက်ဆာထဲတွင်သာ ပြောင်းလဲပေးပါသည်။ BroBroGo သို့ မည်သည့်အရာမျှ တင်ပို့မည်မဟုတ်ပါ။

အမေးအဖြေ

URL component သို့မဟုတ် full URL ထဲမှ မည်သည်ကို ရွေးချယ်သင့်သနည်း။

query တန်ဖိုးများ၊ လမ်းကြောင်းအပိုင်းအစများ သို့မဟုတ် form တန်ဖိုးများအတွက် component ကို အသုံးပြုပါ။ : / ? & = ကဲ့သို့သော စာလုံးများကို ဖတ်ရှုနိုင်စေရန် ထားရှိလိုပါက full URL ကို အသုံးပြုပါ။

HTML entity escaping သည် မည်သည့်အရာများကို ပြောင်းလဲပေးသနည်း။

၎င်းသည် <, >, &, မျက်တောင်ဖွင့်ပိတ်များနှင့် ASCII မဟုတ်သော စာသားများကဲ့သို့သော စာလုံးများကို HTML စာသား သို့မဟုတ် attribute များအတွင်း ဘေးကင်းစွာ ကူးယူထည့်သွင်းနိုင်သော entity များအဖြစ် ပြောင်းလဲပေးသည်။

URL decoding သည် အဘယ်ကြောင့် တစ်ခါတစ်ရံ မအောင်မြင်သနည်း။

Percent escape များသည် ပြည့်စုံသော UTF-8 sequence များ ဖြစ်ရပါမည်။ %E0%A4%A ကဲ့သို့သော ပျက်စီးနေသည့် sequence ကို ခန့်မှန်းတွက်ချက်ခြင်းမရှိဘဲ decode လုပ်၍မရပါ။

URL နှင့် HTML Entity များ ပြောင်းလဲခြင်း လုပ်ငန်းစဉ်

ဝဘ်ဖွံ့ဖြိုးတိုးတက်ရေး လုပ်ငန်းများတွင် စာသားများကို URL များအတွင်း ထည့်သွင်းရန် သို့မဟုတ် HTML စာမျက်နှာများပေါ်တွင် ဘေးကင်းစွာ ပြသရန်အတွက် စာလုံးပုံစံ ပြောင်းလဲခြင်း လုပ်ငန်းစဉ်များကို မဖြစ်မနေ လုပ်ဆောင်ရလေ့ရှိသည်။ ဤ "URL Encoder/Decoder + HTML Entity များ" ကိရိယာသည် စာသားများကို URL အတွက် encode/decode ပြုလုပ်ပေးခြင်းနှင့် HTML entity များအဖြစ် escape/unescape ပြုလုပ်ပေးခြင်းတို့ကို ဆောင်ရွက်ပေးနိုင်သည်။

ဤကိရိယာကို အသုံးပြုရာတွင် အချက်အလက်များအားလုံးကို အသုံးပြုသူ၏ ဘရောက်ဆာထဲတွင်သာ ပြောင်းလဲပေးခြင်းဖြစ်ပြီး BroBroGo သို့ မည်သည့်အရာမျှ တင်ပို့မည်မဟုတ်ပါ။


URL Encoding နှင့် Decoding ပြုလုပ်ခြင်း

URL encoding (သို့မဟုတ် percent-encoding) သည် URL တစ်ခုအတွင်း အထူးစာလုံးများကို ဘေးကင်းစွာ အသုံးပြုနိုင်ရန်အတွက် သတ်မှတ်ထားသော စာလုံးပုံစံသို့ ပြောင်းလဲပေးသည့် လုပ်ငန်းစဉ်ဖြစ်သည်။ ဥပမာအားဖြင့် hello world & city=ရန်ကုန် ကဲ့သို့သော စာသားကို encode ပြုလုပ်ပါက hello%20world%20%26%20city%3D%E1%8Myanmar အဖြစ် ပြောင်းလဲပေးမည်ဖြစ်သည်။

URL များကို ပြောင်းလဲရာတွင် အသုံးပြုသည့် နယ်ပယ် (scope) အလိုက် ကွဲပြားခြားနားမှု ရှိသည် -

  • Component (အစိတ်အပိုင်း): URL ၏ query တန်ဖိုးများ၊ လမ်းကြောင်းအပိုင်းအစများ (path pieces) သို့မဟုတ် form တန်ဖိုးများကို encode/decode ပြုလုပ်ရန်အတွက် encodeURIComponent နှင့် decodeURIComponent စနစ်ကို အသုံးပြုသည်။
  • Full URL (URL တစ်ခုလုံး): URL တစ်ခုလုံးကို ပြောင်းလဲရန်အတွက် encodeURI နှင့် decodeURI စနစ်ကို အသုံးပြုပြီး :/?&= ကဲ့သို့သော စာလုံးများကို ဖတ်ရှုနိုင်စေရန် မပြောင်းလဲဘဲ ချန်လှပ်ထားရှိပေးသည်။

HTML Entity Escaping နှင့် Unescaping ပြုလုပ်ခြင်း

HTML entity escaping သည် စာသားများကို HTML စာသား သို့မဟုတ် attribute များအတွင်း ဘေးကင်းစွာ ကူးယူထည့်သွင်းနိုင်ရန်အတွက် အသုံးပြုသည်။ ဤစနစ်သည် <, >, &၊ မျက်တောင်ဖွင့်ပိတ်များနှင့် ASCII မဟုတ်သော စာသားများ (ဥပမာ - 保存) ကဲ့သို့သော စာလုံးများကို သက်ဆိုင်ရာ HTML entity များအဖြစ် ပြောင်းလဲပေးသည်။

HTML entity mode ကို ရွေးချယ်ထားသည့်အခါတွင် URL နယ်ပယ် (scope) ထိန်းချုပ်မှုစနစ်ကို ဖျောက်ထားမည်ဖြစ်သည်။ ဤလုပ်ငန်းစဉ်သည် စာသားများကို HTML အတွင်း ဘေးကင်းစွာ ထည့်သွင်းရန်အတွက်သာဖြစ်ပြီး လုံခြုံရေးဆိုင်ရာ သန့်စင်မှု (security sanitization) ပြုလုပ်ပေးခြင်း မဟုတ်ပါ။


စည်းမျဉ်းများနှင့် အမှားအယွင်းများ သတ်မှတ်ချက်

ဤကိရိယာကို အသုံးပြုရာတွင် အောက်ပါစည်းမျဉ်းများနှင့် ကန့်သတ်ချက်များ ရှိသည် -

  • အမြင့်ဆုံး စာလုံးရေ ကန့်သတ်ချက်: ထည့်သွင်းနိုင်သည့် အမြင့်ဆုံး စာလုံးရေမှာ ၂,၀၀၀,၀၀၀ (2,000,000) ဖြစ်သည်။ အကယ်၍ ထည့်သွင်းမှု အလွန်များပြားပါက "ထိုထည့်သွင်းမှုသည် ဤကိရိယာအတွက် အလွန်ရှည်လျားနေသည်။ စာလုံးရေ {max} လုံးအောက်သာ ထားရှိပါ။" ဟူသော အမှားအယွင်း မက်ဆေ့ဂျ်ကို ပြသမည်ဖြစ်သည်။
  • UTF-8 Sequence လိုအပ်ချက်: URL များကို decode ပြုလုပ်သည့်အခါ percent escape များသည် ပြည့်စုံသော UTF-8 sequence များ ဖြစ်ရပါမည်။ %E0%A4%A ကဲ့သို့သော ပျက်စီးနေသည့် sequence များ ပါဝင်နေပါက decode လုပ်၍မရဘဲ "ဤ URL စာသားတွင် ပျက်စီးနေသော percent escape ပါဝင်နေသည်။" ဟူသော အမှားအယွင်းကို ပြသမည်ဖြစ်သည်။
  • အခြား အမှားအယွင်းများနှင့် အခြေအနေများ:
    • ထည့်သွင်းမှု မရှိဘဲ လုပ်ဆောင်ပါက "ထည့်သွင်းလိုသော စာသားကို အရင် ကူးယူထည့်သွင်းပါ။" ဟု ပြသမည်ဖြစ်သည်။
    • ပြောင်းလဲမှု အချိန်အလွန်ကြာမြင့်ပါက "ဤပြောင်းလဲမှုသည် အချိန်အလွန်ကြာမြင့်နေသည်။ ပိုမိုတိုတောင်းသော ထည့်သွင်းမှုကို အသုံးပြုပါ။" ဟု ပြသမည်ဖြစ်သည်။
    • အခြားအကြောင်းရင်းကြောင့် ပြောင်းလဲ၍မရပါက "ဤထည့်သွင်းမှုကို ပြောင်းလဲ၍မရပါ။" ဟု ပြသမည်ဖြစ်သည်။

အသုံးပြုသူများအတွက် အသုံးဝင်သော လုပ်ဆောင်ချက်များ

ဤကိရိယာတွင် အသုံးပြုရလွယ်ကူစေရန် အောက်ပါလုပ်ဆောင်ချက်များကို ထည့်သွင်းပေးထားသည် -

  • နမူနာ: စမ်းသပ်ရန်အတွက် နမူနာစာသားကို ရယူနိုင်ပြီး "နမူနာကို ရယူပြီးပါပြီ။" ဟု ပြသမည်ဖြစ်သည်။
  • ရလဒ်ကို သုံးရန် (Swap): ရလဒ်ကို ထည့်သွင်းမှုနေရာသို့ ပြန်လည်ရွှေ့ပြောင်းပေးနိုင်ပြီး "ရလဒ်ကို ထည့်သွင်းမှုနေရာသို့ ရွှေ့လိုက်ပါပြီ။" ဟု ပြသမည်ဖြစ်သည်။
  • ရှင်းလင်းရန်: ထည့်သွင်းမှုနှင့် ရလဒ်များကို တစ်ပြိုင်နက် ရှင်းလင်းပေးနိုင်ပြီး "ထည့်သွင်းမှုနှင့် ရလဒ်များကို ရှင်းလင်းပြီးပါပြီ။" ဟု ပြသမည်ဖြစ်သည်။
  • အရွယ်အစား ပြသမှု: ထည့်သွင်းမှုနှင့် ရလဒ်တို့၏ စာလုံးရေ အရွယ်အစား (character count) ကို တိုက်ရိုက်တွက်ချက်ပြသပေးသည်။

အမေးအဖြေများ (FAQ)

မေး - URL component သို့မဟုတ် full URL ထဲမှ မည်သည်ကို ရွေးချယ်သင့်သနည်း။
ဖြေ - query တန်ဖိုးများ၊ လမ်းကြောင်းအပိုင်းအစများ သို့မဟုတ် form တန်ဖိုးများအတွက် component ကို အသုံးပြုပါ။: /? & = ကဲ့သို့သော စာလုံးများကို ဖတ်ရှုနိုင်စေရန် ထားရှိလိုပါက full URL ကို အသုံးပြုပါ။

မေး - HTML entity escaping သည် မည်သည့်အရာများကို ပြောင်းလဲပေးသနည်း။
ဖြေ - ၎င်းသည် <, >, &, မျက်တောင်ဖွင့်ပိတ်များနှင့် ASCII မဟုတ်သော စာသားများကဲ့သို့သော စာလုံးများကို HTML စာသား သို့မဟုတ် attribute များအတွင်း ဘေးကင်းစွာ ကူးယူထည့်သွင်းနိုင်သော entity များအဖြစ် ပြောင်းလဲပေးသည်။

မေး - URL decoding သည် အဘယ်ကြောင့် တစ်ခါတစ်ရံ မအောင်မြင်သနည်း။
ဖြေ - Percent escape များသည် ပြည့်စုံသော UTF-8 sequence များ ဖြစ်ရပါမည်။ %E0%A4%A ကဲ့သို့သော ပျက်စီးနေသည့် sequence ကို ခန့်မှန်းတွက်ချက်ခြင်းမရှိဘဲ decode လုပ်၍မရပါ။