ការអ៊ិនកូដ Base64

ជាមួយនឹងឧបករណ៍បំលែងកូដ Base64 អ្នកអាចអ៊ិនគ្រីបអត្ថបទដែលអ្នកបញ្ចូលដោយប្រើវិធីសាស្ត្រ Base64។ ប្រសិនបើអ្នកប្រាថ្នា អ្នកអាចឌិកូដកូដ Base64 ដែលបានអ៊ិនគ្រីបដោយប្រើឧបករណ៍ Base64 Decode។

តើការអ៊ិនកូដ Base64 គឺជាអ្វី?

ការអ៊ិនកូដ Base64 គឺជាគ្រោងការណ៍ការអ៊ិនកូដដែលអនុញ្ញាតឱ្យទិន្នន័យគោលពីរត្រូវបានដឹកជញ្ជូននៅលើបរិស្ថានដែលប្រើតែការអ៊ិនកូដតួអក្សរដែលបានដាក់កម្រិតមួយចំនួន (បរិស្ថានដែលកូដតួអក្សរទាំងអស់មិនអាចប្រើបានដូចជា xml, html, script, កម្មវិធីផ្ញើសារបន្ទាន់) ។ ចំនួនតួអក្សរនៅក្នុងគ្រោងការណ៍នេះគឺ 64 ហើយលេខ 64 នៅក្នុងពាក្យ Base64 មកពីទីនេះ។

ហេតុអ្វីត្រូវប្រើការអ៊ិនកូដ Base64?

តម្រូវការសម្រាប់ការអ៊ិនកូដ Base64 កើតចេញពីបញ្ហាដែលកើតឡើងនៅពេលដែលប្រព័ន្ធផ្សព្វផ្សាយត្រូវបានបញ្ជូនជាទម្រង់ប្រព័ន្ធគោលពីរឆៅទៅប្រព័ន្ធផ្អែកលើអត្ថបទ។ ដោយសារតែប្រព័ន្ធដែលមានមូលដ្ឋានលើអត្ថបទ (ដូចជាអ៊ីមែល) បកប្រែទិន្នន័យគោលពីរជាជួរដ៏ធំទូលាយនៃតួអក្សរ រួមទាំងតួអក្សរពាក្យបញ្ជាពិសេស ទិន្នន័យគោលពីរភាគច្រើនដែលបានបញ្ជូនទៅឧបករណ៍ផ្ទុកផ្ទេរទិន្នន័យត្រូវបានបកស្រាយខុសដោយប្រព័ន្ធទាំងនេះ ហើយត្រូវបានបាត់បង់ ឬខូចនៅក្នុងការបញ្ជូន។ ដំណើរការ។

វិធីសាស្រ្តមួយនៃការអ៊ិនកូដទិន្នន័យគោលពីរតាមរបៀបដែលជៀសវាងបញ្ហានៃការបញ្ជូនបែបនេះគឺត្រូវផ្ញើវាជាអត្ថបទ ASCII ធម្មតាក្នុងទម្រង់ដែលបានអ៊ិនកូដ Base64 ។ នេះគឺជាបច្ចេកទេសមួយក្នុងចំណោមបច្ចេកទេសដែលប្រើដោយស្តង់ដារ MIME ដើម្បីផ្ញើទិន្នន័យក្រៅពីអត្ថបទធម្មតា។ ភាសាសរសេរកម្មវិធីជាច្រើនដូចជា PHP និង Javascript រួមបញ្ចូលមុខងារការអ៊ិនកូដ Base64 និងការឌិកូដដើម្បីបកស្រាយទិន្នន័យដែលបានបញ្ជូនដោយប្រើការអ៊ិនកូដ Base64 ។

តក្កវិជ្ជាអ៊ិនកូដ Base64

នៅក្នុងការអ៊ិនកូដ Base64, 3 * 8 ប៊ីត = 24 ប៊ីតនៃទិន្នន័យដែលមាន 3 បៃត្រូវបានបែងចែកទៅជា 4 ក្រុមនៃ 6 ប៊ីត។ តួអក្សរដែលត្រូវគ្នានឹងតម្លៃទសភាគរវាង [0-64] នៃក្រុម 6 ប៊ីតទាំង 4 នេះត្រូវបានផ្គូផ្គងពីតារាង Base64 ដើម្បីអ៊ិនកូដ។ ចំនួនតួអក្សរដែលទទួលបានជាលទ្ធផលនៃការអ៊ិនកូដ Base64 ត្រូវតែជាពហុគុណនៃ 4 ។ ទិន្នន័យដែលបានអ៊ិនកូដដែលមិនមែនជាពហុគុណនៃ 4 មិនមែនជាទិន្នន័យ Base64 ត្រឹមត្រូវ។ នៅពេលអ៊ិនកូដដោយប្រើក្បួនដោះស្រាយ Base64 នៅពេលដែលការអ៊ិនកូដបានបញ្ចប់ ប្រសិនបើប្រវែងនៃទិន្នន័យមិនមែនជាពហុគុណនៃ 4 នោះតួអក្សរ "=" (ស្មើគ្នា) ត្រូវបានបន្ថែមទៅចុងបញ្ចប់នៃការអ៊ិនកូដរហូតដល់វាជាពហុគុណនៃ 4 ។ ឧទាហរណ៍ ប្រសិនបើយើងមានទិន្នន័យដែលបានអ៊ិនកូដ 10 តួអក្សរ Base64 ជាលទ្ធផលនៃការអ៊ិនកូដនោះ "==" ពីរគួរតែត្រូវបានបន្ថែមទៅចុងបញ្ចប់។

ឧទាហរណ៍ការអ៊ិនកូដ Base64

ជាឧទាហរណ៍ សូមយកលេខ ASCII បីលេខ 155, 162 និង 233។ លេខទាំងបីនេះបង្កើតជាស្ទ្រីមគោលពីរនៃ 100110111010001011101001។ ឯកសារប្រព័ន្ធគោលពីរដូចជារូបភាពមាន binary stream ដែលដំណើរការសម្រាប់រាប់ម៉ឺន ឬរាប់រយរាប់ពាន់នៃសូន្យ និងមួយ។ កម្មវិធីបំលែងកូដ Base64 ចាប់ផ្តើមដោយការបំបែកចរន្តប្រព័ន្ធគោលពីរទៅជាក្រុមនៃតួអក្សរចំនួនប្រាំមួយ៖ 100110 111010 001011 101001។ ក្រុមនីមួយៗនេះត្រូវបានបកប្រែទៅជាលេខ 38, 58, 11 និង 41។ ស្ទ្រីមគោលពីរតួអក្សរប្រាំមួយត្រូវបានបម្លែងរវាងប្រព័ន្ធគោលពីរ (ឬមូលដ្ឋាន) ។ 2) ទៅខ្ទង់ទសភាគ (គោល-10) តួអក្សរដោយ​ការ​ការ៉េ​តម្លៃ​នីមួយៗ​តំណាង​ដោយ 1 ក្នុង​អារេ​គោលពីរ​ដោយ​ការេ​ទីតាំង។ ចាប់ផ្តើមពីខាងស្តាំ និងផ្លាស់ទីទៅខាងឆ្វេង ហើយចាប់ផ្តើមពីសូន្យ តម្លៃនៅក្នុងចរន្តគោលពីរតំណាងឱ្យ 2^0 បន្ទាប់មក 2^1 បន្ទាប់មក 2^2 បន្ទាប់មក 2^3 បន្ទាប់មក 2^4 បន្ទាប់មក 2^ ៥.

នេះគឺជាវិធីមួយផ្សេងទៀតដើម្បីមើលវា។ ចាប់ផ្តើមពីខាងឆ្វេង ទីតាំងនីមួយៗមានតម្លៃ 1, 2, 4, 8, 16 និង 32។ ប្រសិនបើរន្ធដោតមានលេខគោលពីរ 1 អ្នកបន្ថែមតម្លៃនោះ; ប្រសិនបើរន្ធដោតមាន 0 អ្នកកំពុងបាត់។ អារេគោលពីរ 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 យកខ្សែអក្សរគោលពីរនេះ ហើយបែងចែកវាទៅជាតម្លៃ 6 ប៊ីត 38, 58, 11 និង 41។ ជាចុងក្រោយ លេខទាំងនេះត្រូវបានបំប្លែងទៅជាតួអក្សរ ASCII ដោយប្រើតារាងបំលែងកូដ Base64។