Słownik-IT
Opis krok po kroku, jak przeliczać przekształć dowolny tekst (ASCII) na kod Base64. Szczegółowy przewodnik wyjaśniający każdy krok konwersji. Możesz zmienić pokazany przykład, klikając Edytuj. Zmień liczby, a następnie wróć, klikając odpowiedni
.
Zamiana tekstu na kod 64
Obliczenia
Obliczenia dla tekstu:
IT-toolbox
Krok 1. Konwersja tekstu na postać binarną
Każda litera ma swoją liczbową reprezentację w tabeli ASCII. W tym kroku zamieniamy każdą z liter na dwójkową reprezentację liczbową
Tabela wartości ASCII
| Znak ASCII | Kod | Binarna wersja kodu |
|---|---|---|
| [...] | 0-32 | [...] |
| ! | 33 | 00100001 |
| " | 34 | 00100010 |
| # | 35 | 00100011 |
| $ | 36 | 00100100 |
| % | 37 | 00100101 |
| & | 38 | 00100110 |
| ' | 39 | 00100111 |
| ( | 40 | 00101000 |
| ) | 41 | 00101001 |
| * | 42 | 00101010 |
| + | 43 | 00101011 |
| , | 44 | 00101100 |
| - | 45 | 00101101 |
| . | 46 | 00101110 |
| / | 47 | 00101111 |
| 0 | 48 | 00110000 |
| 1 | 49 | 00110001 |
| 2 | 50 | 00110010 |
| 3 | 51 | 00110011 |
| 4 | 52 | 00110100 |
| 5 | 53 | 00110101 |
| 6 | 54 | 00110110 |
| 7 | 55 | 00110111 |
| 8 | 56 | 00111000 |
| 9 | 57 | 00111001 |
| : | 58 | 00111010 |
| ; | 59 | 00111011 |
| < | 60 | 00111100 |
| = | 61 | 00111101 |
| > | 62 | 00111110 |
| ? | 63 | 00111111 |
| @ | 64 | 01000000 |
| A | 65 | 01000001 |
| B | 66 | 01000010 |
| C | 67 | 01000011 |
| D | 68 | 01000100 |
| E | 69 | 01000101 |
| F | 70 | 01000110 |
| G | 71 | 01000111 |
| H | 72 | 01001000 |
| I | 73 | 01001001 |
| J | 74 | 01001010 |
| K | 75 | 01001011 |
| L | 76 | 01001100 |
| M | 77 | 01001101 |
| N | 78 | 01001110 |
| O | 79 | 01001111 |
| P | 80 | 01010000 |
| Q | 81 | 01010001 |
| R | 82 | 01010010 |
| S | 83 | 01010011 |
| T | 84 | 01010100 |
| U | 85 | 01010101 |
| V | 86 | 01010110 |
| W | 87 | 01010111 |
| X | 88 | 01011000 |
| Y | 89 | 01011001 |
| Z | 90 | 01011010 |
| [ | 91 | 01011011 |
| \ | 92 | 01011100 |
| ] | 93 | 01011101 |
| ^ | 94 | 01011110 |
| _ | 95 | 01011111 |
| ` | 96 | 01100000 |
| a | 97 | 01100001 |
| b | 98 | 01100010 |
| c | 99 | 01100011 |
| d | 100 | 01100100 |
| e | 101 | 01100101 |
| f | 102 | 01100110 |
| g | 103 | 01100111 |
| h | 104 | 01101000 |
| i | 105 | 01101001 |
| j | 106 | 01101010 |
| k | 107 | 01101011 |
| l | 108 | 01101100 |
| m | 109 | 01101101 |
| n | 110 | 01101110 |
| o | 111 | 01101111 |
| p | 112 | 01110000 |
| q | 113 | 01110001 |
| r | 114 | 01110010 |
| s | 115 | 01110011 |
| t | 116 | 01110100 |
| u | 117 | 01110101 |
| v | 118 | 01110110 |
| w | 119 | 01110111 |
| x | 120 | 01111000 |
| y | 121 | 01111001 |
| z | 122 | 01111010 |
| { | 123 | 01111011 |
| | | 124 | 01111100 |
| } | 125 | 01111101 |
| ~ | 126 | 01111110 |
| [...] | 127-160 | [...] |
| ¡ | 161 | 10100001 |
| ¢ | 162 | 10100010 |
| £ | 163 | 10100011 |
| ¤ | 164 | 10100100 |
| ¥ | 165 | 10100101 |
| ¦ | 166 | 10100110 |
| § | 167 | 10100111 |
| ¨ | 168 | 10101000 |
| © | 169 | 10101001 |
| ª | 170 | 10101010 |
| « | 171 | 10101011 |
| ¬ | 172 | 10101100 |
| 173 | 10101101 | |
| ® | 174 | 10101110 |
| ¯ | 175 | 10101111 |
| ° | 176 | 10110000 |
| ± | 177 | 10110001 |
| ² | 178 | 10110010 |
| ³ | 179 | 10110011 |
| ´ | 180 | 10110100 |
| µ | 181 | 10110101 |
| ¶ | 182 | 10110110 |
| · | 183 | 10110111 |
| ¸ | 184 | 10111000 |
| ¹ | 185 | 10111001 |
| º | 186 | 10111010 |
| » | 187 | 10111011 |
| ¼ | 188 | 10111100 |
| ½ | 189 | 10111101 |
| ¾ | 190 | 10111110 |
| ¿ | 191 | 10111111 |
| À | 192 | 11000000 |
| Á | 193 | 11000001 |
| Â | 194 | 11000010 |
| Ã | 195 | 11000011 |
| Ä | 196 | 11000100 |
| Å | 197 | 11000101 |
| Æ | 198 | 11000110 |
| Ç | 199 | 11000111 |
| È | 200 | 11001000 |
| É | 201 | 11001001 |
| Ê | 202 | 11001010 |
| Ë | 203 | 11001011 |
| Ì | 204 | 11001100 |
| Í | 205 | 11001101 |
| Î | 206 | 11001110 |
| Ï | 207 | 11001111 |
| Ð | 208 | 11010000 |
| Ñ | 209 | 11010001 |
| Ò | 210 | 11010010 |
| Ó | 211 | 11010011 |
| Ô | 212 | 11010100 |
| Õ | 213 | 11010101 |
| Ö | 214 | 11010110 |
| × | 215 | 11010111 |
| Ø | 216 | 11011000 |
| Ù | 217 | 11011001 |
| Ú | 218 | 11011010 |
| Û | 219 | 11011011 |
| Ü | 220 | 11011100 |
| Ý | 221 | 11011101 |
| Þ | 222 | 11011110 |
| ß | 223 | 11011111 |
| à | 224 | 11100000 |
| á | 225 | 11100001 |
| â | 226 | 11100010 |
| ã | 227 | 11100011 |
| ä | 228 | 11100100 |
| å | 229 | 11100101 |
| æ | 230 | 11100110 |
| ç | 231 | 11100111 |
| è | 232 | 11101000 |
| é | 233 | 11101001 |
| ê | 234 | 11101010 |
| ë | 235 | 11101011 |
| ì | 236 | 11101100 |
| í | 237 | 11101101 |
| î | 238 | 11101110 |
| ï | 239 | 11101111 |
| ð | 240 | 11110000 |
| ñ | 241 | 11110001 |
| ò | 242 | 11110010 |
| ó | 243 | 11110011 |
| ô | 244 | 11110100 |
| õ | 245 | 11110101 |
| ö | 246 | 11110110 |
| ÷ | 247 | 11110111 |
| ø | 248 | 11111000 |
| ù | 249 | 11111001 |
| ú | 250 | 11111010 |
| û | 251 | 11111011 |
| ü | 252 | 11111100 |
| ý | 253 | 11111101 |
| þ | 254 | 11111110 |
| ÿ | 255 | 11111111 |
Konwersja na postać binarną
| Znak ASCII | I | T | - | t | o | o | l | b | o | x |
|---|---|---|---|---|---|---|---|---|---|---|
| Wartość z tabeli ASCII | 73 | 84 | 45 | 116 | 111 | 111 | 108 | 98 | 111 | 120 |
| Postać binarna | 01001001 | 01010100 | 00101101 | 01110100 | 01101111 | 01101111 | 01101100 | 01100010 | 01101111 | 01111000 |
Krok 2. Grupowanie bitów
Każdy znak w kodowaniu ASCII można zapisać za pomocą 8 bitów. Aby uzyskać tekst, należy te bity przekształcić na kod base64, który składa się z 6 bitów. W związku z tym grupy po 8 bitów musimy teraz połączyć w grupy po 6 bitów.
| Znak ASCII (i ich wartość) | I (73) | T (84) | - (45) | t (116) | o (111) | o (111) | l (108) | b (98) | o (111) | x (120) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Postać binarna (Grupy 8 bitowe) | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 1 | 0 | 1 | 1 | 1 | 0 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 1 | 1 | 1 | 0 | 1 | 1 | 0 | 1 | 1 | 1 | 1 | 0 | 1 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 1 | 0 | 1 | 1 | 1 | 1 | 0 | 1 | 1 | 1 | 1 | 0 | 0 | 0 | ||||
| Postać binarna (Grupy 6 bitowe) | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 1 | 0 | 1 | 1 | 1 | 0 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 1 | 1 | 1 | 0 | 1 | 1 | 0 | 1 | 1 | 1 | 1 | 0 | 1 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 1 | 0 | 1 | 1 | 1 | 1 | 0 | 1 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Krok 3. Przypisanie wartości base64
Grupy 6-bitowe zamieniamy na wartości dzieciętne, które następnie przypisujemy do konkretych wartości z tabeli base64.
Tabela wartości Base64
| Znak base64 | Kod | Binarna wersja kodu |
|---|---|---|
| A | 0 | 000000 |
| B | 1 | 000001 |
| C | 2 | 000010 |
| D | 3 | 000011 |
| E | 4 | 000100 |
| F | 5 | 000101 |
| G | 6 | 000110 |
| H | 7 | 000111 |
| I | 8 | 001000 |
| J | 9 | 001001 |
| K | 10 | 001010 |
| L | 11 | 001011 |
| M | 12 | 001100 |
| N | 13 | 001101 |
| O | 14 | 001110 |
| P | 15 | 001111 |
| Q | 16 | 010000 |
| R | 17 | 010001 |
| S | 18 | 010010 |
| T | 19 | 010011 |
| U | 20 | 010100 |
| V | 21 | 010101 |
| W | 22 | 010110 |
| X | 23 | 010111 |
| Y | 24 | 011000 |
| Z | 25 | 011001 |
| a | 26 | 011010 |
| b | 27 | 011011 |
| c | 28 | 011100 |
| d | 29 | 011101 |
| e | 30 | 011110 |
| f | 31 | 011111 |
| g | 32 | 100000 |
| h | 33 | 100001 |
| i | 34 | 100010 |
| j | 35 | 100011 |
| k | 36 | 100100 |
| l | 37 | 100101 |
| m | 38 | 100110 |
| n | 39 | 100111 |
| o | 40 | 101000 |
| p | 41 | 101001 |
| q | 42 | 101010 |
| r | 43 | 101011 |
| s | 44 | 101100 |
| t | 45 | 101101 |
| u | 46 | 101110 |
| v | 47 | 101111 |
| w | 48 | 110000 |
| x | 49 | 110001 |
| y | 50 | 110010 |
| z | 51 | 110011 |
| 0 | 52 | 110100 |
| 1 | 53 | 110101 |
| 2 | 54 | 110110 |
| 3 | 55 | 110111 |
| 4 | 56 | 111000 |
| 5 | 57 | 111001 |
| 6 | 58 | 111010 |
| 7 | 59 | 111011 |
| 8 | 60 | 111100 |
| 9 | 61 | 111101 |
| + | 62 | 111110 |
| / | 63 | 111111 |
Konwersja na kod base64
| Postać binarna (Grupy 6-bitowe) | 010010 | 010101 | 010000 | 101101 | 011101 | 000110 | 111101 | 101111 | 011011 | 000110 | 001001 | 101111 | 011110 | 000000 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Postać dziesiętna | 18 | 21 | 16 | 45 | 29 | 6 | 61 | 47 | 27 | 6 | 9 | 47 | 30 | 0 |
| Znaki z tabeli base64 | S | V | Q | t | d | G | 9 | v | b | G | J | v | e | A |
Krok 4. Dodanie paddingu
Każdy kod Base64 składa się z bloków po 24 bity. Obliczony powyżej kod ma 84 bitów długości, a więc składa się z 3 bloków i 12 wolnych bitów. Uzupełniamy niepełne bloki za pomocą paddingu, czuli znaku "=" który oznacza 6 bitów. W tym przypadku do pełnego bloku brakuje 12, więc dodamy na koniec 2 znaków"=".
Podsumowanie
Otrzymany kod base64
SVQtdG9vbGJveA==