Base64- & Radix64-Codierung history menue Letztmalig dran rumgefummelt: 25.05.23 04:07:45

Base64 ist ein Begriff aus dem Computerbereich und beschreibt ein Verfahren zur Kodierung von 8-Bit-Binärdaten (z. B. ausführbare Programme, ZIP-Dateien), in eine Zeichenfolge, die nur aus lesbaren Codepage-unabhängigen ASCII-Zeichen besteht. Im Zusammenhang mit OpenPGP wird noch eine Prüfsumme (CRC-24) angehängt; dieses leicht modifizierte Verfahren trägt den Namen Radix-64.
Es findet im Internet-Standard MIME (Multipurpose Internet Mail Extensions) Anwendung und wird damit hauptsächlich zum Versenden von E-Mail-Anhängen verwendet. Nötig ist dies, um den problemlosen Transport von beliebigen Binärdaten zu gewährleisten, da SMTP in seiner ursprünglichen Fassung nur für den Versand von 7-Bit-ASCII-Zeichen ausgelegt war. Durch die Kodierung steigt der Platzbedarf des Datenstroms um 33-36 % (33 % durch die Kodierung selbst, bis zu weitere 3 % durch die im kodierten Datenstrom eingefügten Zeilenumbrüche).
Zur Kodierung werden die Zeichen A–Z, a–z, 0–9, + und / verwendet, sowie = am Ende. Da diese Zeichen auch in EBCDIC (Extended Binary Coded Decimals Interchange Code) vorkommen (wenn auch an anderen Code-Positionen), ist damit auch ein Datenaustausch zwischen nicht-ASCII-Plattformen möglich.

nach WIKIPEDIA

1. Zum technischen Verfahren
2. Der Base64-Code
3. Software zum Code
4. BASE64-Verfahren
5. Weitere äquivalente Codes

Codes

Logo des Base64-Codes

inhaltlich auf korrektem Stand - evtl. partiell unvollständig ;-)

Basiswissen der Informatik

Informatik-Profi-Wissen


1. Zum technischen Verfahren history menue scroll up

Eingegebener ASCII-Code wird in Hexadezimal-Format gewandelt, anschließend in die zugehörigen 8-Bit Muster. Diese werden in Gruppen zu je sechs Bit aufgelöst und anschließend nach der weiter unten stehenden Codetabelle wieder in Zeichen aus den Gruppen A bis Z, a bis z, 0 bis 9 sowie die Zeichen +, und  / umcodiert.

Logo des Base64-Codes

... hier als Download im CorelDraw 11.0-Format

Übersicht über Verwendungsmglichkeiten des  Base64-Codes

Padding

Falls die Gesamtanzahl der Eingabebytes nicht durch drei teilbar ist, beinhaltet der letzte Eingabeblock weniger als 24 Bits. In diesem Fall ist ein Padding der Eingabedaten erforderlich. An den Eingabeblock werden Nullbits angehängt, bis die Länge durch 6 teilbar ist. Anschließend wird die Ausgabe mit einem oder zwei = Zeichen aufgefüllt. Wenn der Eingabeblock 8 Bit lang ist, werden 4 Nullbits angehängt und zwei = Zeichen ausgegeben. Wenn der Eingabeblock 16 Bit lang ist, werden 2 Nullbits angehängt und ein = Zeichen ausgegeben.

Beispiel: Padding
Eingabebytes
(Hex)
Anzahl
Bits
aufgefüllt auf durch 6 teilbare Bitzahl
(Binärdarstellung, Senkrechtstrich trennt Padding-Bits)
Base64
(ohne Ausgabe-Padding)
Base64
(mit Ausgabe-Padding)
00 8 000000 00|0000 AA AA==
00 00 16 000000 000000 0000|00 AAA AAA=
00 00 00 24 000000 000000 000000 000000 AAAA AAAA
FF 8 111111 11|0000 /w /w==
FF FF 16 111111 111111 1111|00 //8 //8=
FF FF FF 24 111111 111111 111111 111111 //// ////

Da sich die Anzahl der ursprünglichen Bytes immer eindeutig aus der Anzahl der Base64-Eingabe-Zeichen ermitteln lässt, wird in manchen Kontexten und Protokollen kein Padding verwendet (abweichend von der ursprünglichen Base64-Definition).

   

Basiswissen zum CRC24

 


2. Der Base64-Code history menue scroll up

Der Code Maria Stuarts war eine Mischung aus Chiffre und Codes, wobei er in sich und für seine Zeit ziemlich komplex war. Heute würden wir von einem mächtigen Algorithmus sprechen auch war der Schlüssel sehr sicher. Das Verfahren war jedoch monoalphabetisch und damit wiederum leicht angreifbar.
 
BS
13  Enter
27  Esc
32  Space
33  !
34  "
35  #
36  $
37  %
38  &
39  '
40  (
41  )
42  *
43  +
44  ,
45  -
46  .
47  /
48  0
49  1
50  2
51  3
52  4
53  5
54  6
55  7
56  8
57  9
58  :
59  ;
60  <
61  =
62  >
63  ?
64  @
65  A
66  B
67  C
68  D
69  E
70  F
71  G
72  H
73  I
74  J
75  K
76  L
77  M
78  N
79  O
80  P
81  Q
82  R
83  S
84  T
85  U
86  V
87  W
88  X
89  Y
90  Z
91  [
92  \
93  ]
94  ^
95  _
96  `
97  a
98  b
99  c
100  d
101  e
102  f
103  g
104  h
105  i
106  j
107  k
108  l
109  m
110  n
111  o
112  p
113  q
114  r
115  s
116  t
117  u
118  v
119  w
120  x
121  y
122  z
123  {
124  |
125  }
126  ~
0128 
0163  £
0167  §
0169  ©
0171  «
0174  ®
0176  °
0177  ±
0178  ²
0179  ³
0180  ´
0181  µ
0182 
0183  ·
0184  ¸
0185  ¹
0186  º
0187  »
0188  ¼
0189  ½
0190  ¾
0191  ¿
0192  À
0193  Á
0194  Â
0195  Ã
0196  Ä
0197  Å
0214  Ö
0215  ×
0216  Ø
0220  Ü
0223  ß
0228  ä
0246  ö
0247  ÷
0252  ü

ausgewählte Zeichen des ASCII-Codes

Wert Zeichen   Wert Zeichen   Wert Zeichen   Wert Zeichen
0 A 16 Q 32 g 48 w
1 B 17 R 33 h 49 x
2 C 18 S 34 i 50 y
3 D 19 T 35 j 51 z
4 E 20 U 36 k 52 0
5 F 21 V 37 l 53 1
6 G 22 W 38 m 54 2
7 H 23 X 39 n 55 3
8 I 24 Y 40 o 56 4
9 J 25 Z 41 p 57 5
10 K 26 a 42 q 58 6
11 L 27 b 43 r 59 7
12 M 28 c 44 s 60 8
13 N 29 d 45 t 61 9
14 O 30 e 46 u 62 +
15 P 31 f 47 v 63 /

ASCII-Code-Tabelle


3. Software zum Code history menue scroll up

Eingabeformat ist Standard-ASCII-Text - die Ausgabe erfolgt im WINDOWS-1252 Format. Das sind beides Standardformate, welche auch von anderen Betriebssystemen gelesen werden können. Dies eben, weil es Standards sind.
Softwarelösung Konvertierungstabelle in 6-Bit-Codes

Base64-Encoder

... zum Start als EXE-Datei

... zum Entpacken als vollständiges ZIP-Archiv

Wert Zeichen Wert Zeichen Wert Zeichen Wert Zeichen
dez. binär hex. dez. binär hex. dez. binär hex. dez. binär hex.
0 000000 00 A 16 010000 10 Q 32 100000 20 g 48 110000 30 w
1 000001 01 B 17 010001 11 R 33 100001 21 h 49 110001 31 x
2 000010 02 C 18 010010 12 S 34 100010 22 i 50 110010 32 y
3 000011 03 D 19 010011 13 T 35 100011 23 j 51 110011 33 z
4 000100 04 E 20 010100 14 U 36 100100 24 k 52 110100 34 0
5 000101 05 F 21 010101 15 V 37 100101 25 l 53 110101 35 1
6 000110 06 G 22 010110 16 W 38 100110 26 m 54 110110 36 2
7 000111 07 H 23 010111 17 X 39 100111 27 n 55 110111 37 3
8 001000 08 I 24 011000 18 Y 40 101000 28 o 56 111000 38 4
9 001001 09 J 25 011001 19 Z 41 101001 29 p 57 111001 39 5
10 001010 0A K 26 011010 1A a 42 101010 2A q 58 111010 3A 6
11 001011 0B L 27 011011 1B b 43 101011 2B r 59 111011 3B 7
12 001100 0C M 28 011100 1C c 44 101100 2C s 60 111100 3C 8
13 001101 0D N 29 011101 1D d 45 101101 2D t 61 111101 3D 9
14 001110 0E O 30 011110 1E e 46 101110 2E u 62 111110 3E +
15 001111 0F P 31 011111 1F f 47 101111 2F v 63 111111 3F /


4. BASE64-Verfahren history menue scroll up

Base64 ist ein Verfahren zur Kodierung von 8-Bit-Binärdaten (z. B. ausführbare Programme, ZIP-Dateien oder Bilder) in eine Zeichenfolge, die nur aus lesbaren, Codepage-unabhängigen ASCII-Zeichen besteht.
Es findet im Internet-Standard Multipurpose Internet Mail Extensions (MIME) Anwendung und wird dort zum Versenden von E-Mail-Anhängen verwendet. Nötig ist dies, um den problemlosen Transport von beliebigen Binärdaten zu gewährleisten, da SMTP in seiner ursprünglichen Fassung nur für den Versand von 7-Bit-ASCII-Zeichen ausgelegt war. Durch die Kodierung steigt der Platzbedarf des Datenstroms um 33–36 % (33 % durch die Kodierung selbst, bis zu weitere 3 % durch die im kodierten Datenstrom eingefügten Zeilenumbrüche). Base64 wird zum Beispiel auch zur Kodierung von Benutzernamen und Passwort in der HTTP-Basisauthentifizierung und zur Übertragung von SSH-Server-Zertifikaten verwendet.
 
         


5. Weitere äquivalente Codes history menue scroll up

Mit dem Base64-Verfahren werden 8-Bit-Binärdaten in lesbare ASCII Zeichen kodiert. Zur Kodierung werden die Zeichen A-Z, a-z, 0-9, + und / verwendet, sowie 0, 1 oder 2 = am Ende des Base64-kodierten Strings, die die Anzahl der Füllbytes darstellen. Zur Kodierung werden jeweils 3 Byte der Eingabedaten in vier 6-Bit-Blöcke aufgeteilt und diese 64 möglichen Zeichen auf druckbare ASCII-Zeichen gemappt. Bei der Dekodierung werden nicht darstellbare Zeichen durch ein graues Rechteck ░ ersetzt.
UTF-8 (UCS Transformation Format) und UCS-2 ( Universal Coded Character Set) sowie UNICODE - https://de.wikipedia.org/wiki/UTF-8
RFC 3629 / STD 63 (2003) - 05.10.2016 — In der Theorie kann UTF-8 zwar Sequenzen aus bis zu 8 Bytes enthalten, RFC 3629 hat die erlaubte Anzahl aber auf 4 Bytes reduziert.
The Unicode Standard, Version 4.0, §3.9–§3.10 (2003)
ISO/IEC 10646-1:2000 Annex D (2000)

UTF-16 Little Endian
EBCDIC



ASCII

ISO-8859-2
ISO-8859-6
ISO-8859-15

UU-Encoding

Code-Übersicht - genial

ASCII-Codesite

ASCII-Wikipaedia

ASCII-Deutschland

ASCII-Erklärvideo

ISO-8859 - Codesite

ISO-8859

ISO-8859-1

ISO-8859-2

ISO-8859-3

 

ISO-8859-4

ISO-8859-5

ISO-8859-6

ISO-8859-7

 

ISO-8859-8

ISO-8859-9

ISO-8859-10

ISO-8859-11

 

ISO-8859-13

ISO-8859-14

ISO-8859-15

ISO-8859-16

 

 

ISO-8859-13

Windows-1252 - Codesite

Windows-1252

   
 



zur Hauptseite
© Samuel-von-Pufendorf-Gymnasium Flöha © Frank Rost am 6. November 2010 um 11.21 Uhr

... dieser Text wurde nach den Regeln irgendeiner Rechtschreibreform verfasst - ich hab' irgendwann einmal beschlossen, an diesem Zirkus nicht mehr teilzunehemn ;-)

„Dieses Land braucht eine Steuerreform, dieses Land braucht eine Rentenreform - wir schreiben Schiffahrt mit drei „f“!“

Diddi Hallervorden, dt. Komiker und Kabarettist

Diese Seite wurde ohne Zusatz irgendwelcher Konversationsstoffe erstellt ;-)