Кіріспе
32 символды пайдаланатын мәтіндік кодтау схемасы. Base32 – 32-лік сандар жүйесіне негізделген кодтау әдісі. Ол 32 таңбадан тұратын әліпбиді қолданады, олардың әрқайсысы 5 биттің әртүрлі комбинациясын көрсетеді (25). Base32 кеңінен қолданылмағандықтан, 32 таңбаны бейнелеу үшін қандай символдарды пайдалану керек деген мәселе, RFC және бейресми, де-факто стандарттар болғанымен, жақсы танымал сандар жүйелеріне (мысалы, оналдық санау жүйесі) қарағанда толық шешілмеген. Base32 сандарын адам оқи алатындай етіп көрсетудің бір жолы – 0-ден 9-ға дейінгі сандарды, содан кейін 22 үлкен әріпті (A-ден V-ге дейін) пайдалану. Дегенмен, әртүрлі жағдайларда көптеген басқа да нұсқалар қолданылады. Тарихи тұрғыдан алғанда, Бодо кодын өзгертілген (жағдайлық) Base32 коды деп қарастыруға болады. Бұл мақалада Base64 сияқты, бүтін сандар емес, байт тізбектерін көрсету үшін Base32 қолданылуы туралы сөз болады.
Base32 is an encoding method based on the base 32 numeral system. It uses an alphabet of 32 digits, each of which represents a different combination of 5 bits (25). Since base32 is not very widely adopted, the question of notation—which characters to use to represent the 32 digits—is not as settled as in the case of more well known numeral systems (such as hexadecimal), though RFCs and unofficial and de facto standards exist. One way to represent Base32 numbers in human readable form is using digits 0–9 followed by the twenty two upper case letters A–V. However, many other variations are used in different contexts. Historically, Baudot code could be considered a modified (stateful) base32 code. This article focuses on the use of Base32 for representing byte strings rather than unsigned integer numbers, similar to the way Base64 works.
RFC 4648 кодтамалары
2006 жылдың қазан айында ұсынылған Интернет стандартының құжаттары base16, base32 және base64 кодтауларын қамтиды. Онда base32 үшін екі схема бар, бірақ біреуі екіншісінен ұсынылады. Сонымен қатар, бұрынғы тәжірибеге қарамастан, 6-бөлімінде анықталған әліпбиді ғана base32 деп атау, ал 7-бөліміндегі басқа ұқсас әліпбиді base32hex деп атау ұсынылады. Бұл ұсыныстарға толық келісім білдірілмейді. Base32 деп аталатын жүйелерді пайдаланғанда абайсылық таныту қажет, себебі мұндай жүйелер RFC 4648 §6 немесе §7 стандартына сәйкес base32 болуы мүмкін (соңғысы үшін RFC-нің қарапайым атауын пайдалану ескерілмеуі мүмкін), немесе олар тағы бір кодтау түрі болуы мүмкін, толығырақ төменде қараңыз.
Баламалы кодтау схемалары
Base32 әліпбиін өзгерту арқылы, барлық балама стандарттарда әріптік-сандық символдардың ұқсас комбинациялары кездеседі.
Электрологиялық
32-базалық жазудың бұрынғы түрін Electrologica X1 компьютерінде жұмыс істейтін бағдарламашылар машина адрестерін көрсету үшін пайдаланған. "Цифрлар" 0-ден 31-ге дейінгі ондық сандармен белгіленген. Мысалы, 12 16 саны 400 машина адресін білдіреді (= 12 × 32 + 16).
Бейне ойындар
NVRAM кеңінен қолданысқа енбегенге дейін, Nintendo платформаларына арналған бірнеше бейне ойындар құпия сөздер үшін 31-ші санау жүйесін пайдаланды. Бұл жүйелер, ойынның қателікпен ұятты құпия сөзді көрсетуіне жол бермеу үшін, дауысты әріптерді (Y-ді қоспағанда) жояды. Осылайша, әріптер көбінесе келесі жиынның шағын өзгерісінен тұрады: 0–9, B, C, D, F, G, H, J, K, L, M, N, P, Q, R, S, T, V, W, X, Y, Z және кейбір тыныш белгілер. Мұндай жүйені қолданатыны белгілі ойындар: Mario Is Missing!, Mario's Time Machine, Tetris Blast және The Lord of the Rings (Super NES).
Бағдарламалық жасақтамаларды іске асыру
Base32 бағдарламалары адамдар да, компьютерлер де оңай қолдана алатын, шектеулі символдар жиынтығын пайдаланып, кез келген байттық деректерді кодтауға жарамды. Base32 іске асырулары кем дегенде 32 әртүрлі таңбадан тұратын символдар жиынтығын (кейде толтыру үшін 33-ші таңбаны), сондай-ақ Base32 әліпбиіне 8 биттік байттардың кез келген тізбектерін кодтау алгоритмін қолданады. Әрбір 8 биттік кіріс байтын көрсету үшін бірнеше 5 биттік Base32 символы қажет болғандықтан, Base32 жолдарының рұқсат етілген ұзындығына қатысты талаптар да белгіленеді (олар 40 биттің есеуі болуы керек, сондықтан толтыру қолданылады). Ал Base64 жүйесі керісінше, 64 символдан тұрады. Base32 C/C++, Perl, Java, JavaScript, Python, Go және Ruby тілдерінде іске асырылған.