Base64 ြဖစ်သည်။
Base64 Encoding tool ဖြင့်၊ သင်သည် Base64 နည်းလမ်းဖြင့် သင်ထည့်သွင်းထားသော စာသားကို စာဝှက်နိုင်ပါသည်။ ဆန္ဒရှိပါက၊ သင်သည် ကုဒ်ဝှက်ထားသော Base64 ကုဒ်ကို Base64 Decode tool ဖြင့် ကုဒ်လုပ်နိုင်ပါသည်။
Base64 ကုဒ်နံပါတ်ဆိုတာဘာလဲ။
Base64 Encoding သည် အချို့သော ကန့်သတ်ဇာတ်ကောင် ကုဒ်များကိုသာ အသုံးပြုသည့် ပတ်ဝန်းကျင်များပေါ်တွင် binary ဒေတာကို ပို့ဆောင်နိုင်စေမည့် ကုဒ်နံပါတ်များ (xml၊ html၊ script၊ instant messaging applications များကဲ့သို့ စာလုံးကုဒ်အားလုံးကို အသုံးမပြုနိုင်သော ပတ်ဝန်းကျင်များ)။ ဤအစီအစဥ်ရှိ စာလုံးအရေအတွက်မှာ 64 ဖြစ်ပြီး Base64 ဟူသော စကားလုံးတွင် နံပါတ် 64 သည် ဤနေရာမှ ဆင်းသက်လာသည်။
Base64 ကုဒ်ကို ဘာကြောင့် သုံးတာလဲ။
Base64 ကုဒ်ပြောင်းခြင်းအတွက် လိုအပ်မှုသည် မီဒီယာကို အကြမ်း binary ဖော်မတ်ဖြင့် စာသားအခြေခံစနစ်များသို့ ပို့သည့်အခါတွင် ဖြစ်ပေါ်လာသည့် ပြဿနာများမှ ဖြစ်ပေါ်လာခြင်းဖြစ်သည်။ စာသားအခြေခံစနစ်များ (အီးမေးလ်ကဲ့သို့သော) သည် အထူးအမိန့်စာအက္ခရာများအပါအဝင် ကျယ်ပြန့်သောအက္ခရာများအဖြစ် binary data ကို အဓိပ္ပာယ်ဖွင့်ဆိုသောကြောင့်၊ လွှဲပြောင်းသည့်ကြားခံသို့ ပို့သော ဒွိစုံဒေတာအများစုကို ဤစနစ်များက အဓိပ္ပာယ်လွဲမှားပြီး ထုတ်လွှင့်မှုတွင် ပျောက်ဆုံးသွားခြင်း သို့မဟုတ် ပျက်စီးသွားခြင်း လုပ်ငန်းစဉ်။
ထိုကဲ့သို့သော ထုတ်လွှင့်မှုပြဿနာများကို ရှောင်ရှားသည့်နည်းလမ်းဖြင့် ထိုကဲ့သို့သော binary data ကို encoding လုပ်သည့်နည်းလမ်းတစ်ခုမှာ Base64 encoded format ဖြင့် ရိုးရိုး ASCII စာသားအဖြစ် ပေးပို့ခြင်းဖြစ်သည်။ ၎င်းသည် ရိုးရိုးစာသားမဟုတ်သည့် အခြားဒေတာပေးပို့ရန် MIME စံနှုန်းမှအသုံးပြုသည့် နည်းပညာများထဲမှတစ်ခုဖြစ်သည်။ PHP နှင့် Javascript ကဲ့သို့သော ပရိုဂရမ်းမင်းဘာသာစကားများစွာတွင် Base64 ကုဒ်နံပါတ်ကို အသုံးပြု၍ ပေးပို့လာသော အချက်အလက်များကို အနက်ပြန်ဆိုရန်အတွက် Base64 ကုဒ်နှင့် ကုဒ်ကုဒ်လုပ်ခြင်း လုပ်ဆောင်ချက်များ ပါဝင်ပါသည်။
Base64 Encoding Logic
Base64 encoding တွင် 3 bytes ပါဝင်သော 3 * 8 bits = 24 bits ဒေတာကို 6 bits ၏ အုပ်စု 4 ခုသို့ ပိုင်းခြားထားသည်။ ဤ 6-ဘစ်အုပ်စု 4 ခုမှ [0-64] အကြား ဒဿမတန်ဖိုးများနှင့် သက်ဆိုင်သည့် စာလုံးများကို ကုဒ်လုပ်ရန် Base64 ဇယားမှ ကိုက်ညီပါသည်။ Base64 ကုဒ်ပြောင်းခြင်း၏ ရလဒ်အဖြစ် ရရှိသော စာလုံးအရေအတွက်သည် 4 ၏ ဆတိုးကိန်းဖြစ်ရပါမည်။ 4 ၏ အဆမတန်မဟုတ်သော ကုဒ်လုပ်ထားသောဒေတာသည် မှန်ကန်သော Base64 ဒေတာမဟုတ်ပါ။ Base64 အယ်လဂိုရီသမ်ဖြင့် ကုဒ်လုပ်သောအခါ၊ ကုဒ်သွင်းခြင်းပြီးမြောက်သောအခါ၊ ဒေတာ၏အရှည်သည် 4 ၏အဆမဟုတ်ပါက၊ 4 ၏အဆမတန်ဖြစ်နေသည်အထိ ကုဒ်နံပါတ်၏အဆုံးတွင် "=" (ညီမျှ) စာလုံးကို ပေါင်းထည့်သည်။ ဥပမာအားဖြင့်၊ ကျွန်ုပ်တို့တွင် ကုဒ်ပြောင်းခြင်း၏ရလဒ်အနေဖြင့် စာလုံး 10 လုံး Base64 ကုဒ်နံပါတ်ဒေတာရှိပါက၊ "==" နှစ်ခုကို အဆုံးတွင် ထည့်သင့်သည်။
Base64 Encoding နမူနာ
ဥပမာအားဖြင့်၊ ASCII နံပါတ်သုံးခုကို 155၊ 162 နှင့် 233 ကိုယူပါ။ ဤဂဏန်းသုံးလုံးသည် 100110111010001011101001 ၏ ဒွိစီးကြောင်းတစ်ခုဖြစ်သည်။ ပုံကဲ့သို့သော ဒွိဖိုင်တစ်ဖိုင်တွင် သုည ဆယ်ဂဏန်း သို့မဟုတ် ရာပေါင်းများစွာအတွက် အလုပ်လုပ်သော ဒွိစီးကြောင်းတစ်ခု ပါရှိသည်။ Base64 ကုဒ်ပြောင်းသည့်ကိရိယာသည် ဒွိစီးကြောင်းကို အက္ခရာခြောက်လုံးဖြင့် အုပ်စုများခွဲ၍ စတင်သည်- 100110 111010 001011 101001။ ဤအုပ်စုတစ်ခုစီကို နံပါတ် 38၊ 58၊ 11 နှင့် 41 သို့ ဘာသာပြန်ထားသည်။ စာလုံးခြောက်လုံးပါ ဒွိစုံစီးကြောင်းကို binary (သို့မဟုတ် အခြေခံ) အကြား ကူးပြောင်းသည်။ 2) ဒဿမ (အခြေ-၁၀) အက္ခရာများသို့ ဒွိအခင်းအကျင်းတွင် 1 ဖြင့် ကိုယ်စားပြုသော တန်ဖိုးတစ်ခုစီကို squaring လုပ်ခြင်းဖြင့် ဒဿမ (အခြေ-၁၀) မှ အက္ခရာများဆီသို့။ ညာဘက်မှစတင်ပြီး ဘယ်ဘက်သို့ရွှေ့ပြီး သုညမှစတင်ကာ၊ ဒွိစီးကြောင်းရှိတန်ဖိုးများသည် 2^0၊ ထို့နောက် 2^1၊ ထို့နောက် 2^2၊ ထို့နောက် 2^3၊ ထို့နောက် 2^4၊ ထို့နောက် 2^ ၅။
ဤသည်မှာ ကြည့်ရှုရန် အခြားနည်းလမ်းတစ်ခုဖြစ်သည်။ ဘယ်ဘက်မှစတင်၍ ရာထူးတစ်ခုစီသည် 1၊ 2၊ 4၊ 8၊ 16 နှင့် 32 တန်ဖိုးရှိသည်။ slot တွင် binary နံပါတ် 1 ပါပါက၊ သင်သည် ထိုတန်ဖိုးကို ထည့်ပါ။ အကယ်၍ slot တွင် 0 ရှိပါက သင်သည် ပျောက်ဆုံးနေပါသည်။ Binary array 100110 ကို 38:0 * 2 ^ 01 + 1 * 2 ^ 1 + 1 * 2^ 2 + 0 * 2^ 3 + 0 * 2^ 4 + 1 * 2 ^ 5 = 0 + 2 ဒဿမ + 4 + 0 + 0 + 32။ Base64 ကုဒ်နံပါတ်သည် ဤ binary string ကိုယူ၍ ၎င်းကို 6-bit တန်ဖိုးများ 38၊ 58၊ 11 နှင့် 41 သို့ ပိုင်းခြားသည်။ နောက်ဆုံးတွင်၊ ဤနံပါတ်များကို Base64 ကုဒ်နံပါတ်ဇယားကို အသုံးပြု၍ ASCII အက္ခရာများအဖြစ်သို့ ပြောင်းလဲသွားပါသည်။