Base64 кодтауы

Base64 кодтау құралының көмегімен сіз енгізген мәтінді Base64 әдісімен шифрлай аласыз. Қаласаңыз, шифрланған Base64 кодын Base64 Decode құралымен декодтауға болады.

Base64 кодтау дегеніміз не?

Base64 кодтауы – екілік деректерді тек кейбір шектеулі таңба кодтауларын (xml, html, сценарий, жылдам хабар алмасу қолданбалары сияқты барлық таңба кодтарын пайдалануға болмайтын орталар) пайдаланатын орталарда тасымалдауға мүмкіндік беретін кодтау схемасы. Бұл схемадағы таңбалар саны 64, ал Base64 сөзіндегі 64 саны осы жерден шыққан.

Неліктен Base64 кодтауын пайдалану керек?

Base64 кодтау қажеттілігі медианы шикі екілік пішімде мәтіндік жүйелерге тасымалдау кезінде туындайтын мәселелерден туындайды. Мәтінге негізделген жүйелер (мысалы, электрондық пошта) екілік деректерді таңбалардың кең ауқымы, соның ішінде арнайы командалық таңбалар ретінде түсіндіретіндіктен, тасымалдау ортасына жіберілетін екілік деректердің көпшілігі осы жүйелермен қате түсіндіріледі және жіберу кезінде жоғалады немесе бүлінеді. процесс.

Мұндай екілік деректерді тасымалдау мәселелерін болдырмайтын жолмен кодтаудың бір әдісі оларды Base64 кодталған пішімінде қарапайым ASCII мәтіні ретінде жіберу болып табылады. Бұл қарапайым мәтіннен басқа деректерді жіберу үшін MIME стандарты қолданатын әдістердің бірі. PHP және Javascript сияқты көптеген бағдарламалау тілдері Base64 кодтауы арқылы жіберілетін деректерді түсіндіру үшін Base64 кодтау және декодтау функцияларын қамтиды.

Base64 кодтау логикасы

Base64 кодтауында 3 байттан тұратын 3 * 8 бит = 24 бит деректер 6 биттен тұратын 4 топқа бөлінеді. Осы 4 6-разрядты топтардың [0-64] арасындағы ондық мәндерге сәйкес келетін таңбалар кодтау үшін Base64 кестесінен сәйкестендіріледі. Base64 кодтауының нәтижесінде алынған таңбалар саны 4-ке еселік болуы керек. 4-ке еселік емес кодталған деректер жарамсыз Base64 деректері болып табылады. Base64 алгоритмімен кодтау кезінде, кодтау аяқталған кезде, деректердің ұзындығы 4-ке еселік болмаса, кодтаудың соңына "=" (тең) таңбасы 4-ке еселік болғанша қосылады. Мысалы, егер кодтау нәтижесінде бізде 10 таңбалы Base64 кодталған деректер болса, соңына екі "==" қосу керек.

Base64 кодтау мысалы

Мысалы, 155, 162 және 233 үш ASCII санын алыңыз. Бұл үш сан 100110111010001011101001 екілік ағынын құрайды. Кескін сияқты екілік файлда ондаған немесе жүздеген мың нөлдер мен бірліктер үшін жұмыс істейтін екілік ағын бар. Base64 кодтаушысы екілік ағынды алты таңбадан тұратын топтарға бөлу арқылы басталады: 100110 111010 001011 101001. Бұл топтамалардың әрқайсысы 38, 58, 11 және 41 сандарына аударылады. Алты таңбалы екілік ағын екілік (немесе негізгі) арасында түрлендіріледі. 2) екілік массивте 1-мен көрсетілген әрбір мәнді позициялық квадратпен квадраттау арқылы ондық (негіз-10) таңбаларға. Оңнан солға және нөлден басталып, екілік ағындағы мәндер 2^0, содан кейін 2^1, содан кейін 2^2, содан кейін 2^3, содан кейін 2^4, содан кейін 2^ құрайды. 5.

Міне, оны қараудың тағы бір жолы. Сол жақтан бастап әрбір позиция 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 мәндеріне бөледі. Соңында, бұл сандар Base64 кодтау кестесін пайдаланып ASCII таңбаларына түрлендіріледі.