Web Analytics

See also ebooksgratis.com: no banners, no cookies, totally FREE.

CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
Privacy Policy Cookie Policy Terms and Conditions
Base85 - Wikipedia

Base85

aus Wikipedia, der freien Enzyklopädie

Unter der Bezeichnung Base85 werden verschiedene, zu einander inkompatible Kodierungsverfahren zusammengefasst, die 8-bit-Binärdaten in eine Folge von druckbaren ASCII-Zeichen umwandelt. Sie haben gemeinsam, dass sie Blöcke von jeweils 4 Bytes in 5 ASCII-Zeichen kodieren. Hierfür sind mindestens 85 verschiedene Zeichen nötig, was diesem Verfahren seinen Namen gab.

Die größte Verbreitung hat diese Kodierung im PostScript-Dateiformat von Adobe. Der Vorteil ist der mit 25% etwas geringere Kodierungsoverhead, im Vergleich zu 33%, der bei der standardisierten Base64-Kodierung auftritt.

Inhaltsverzeichnis

[Bearbeiten] Grundidee

4 Bytes können 2564 = 4294967296 verschiedene mögliche Zustände annehmen. Um diese mit einem Zeichenalphabet von 85 Zeichen zu kodieren, werden 5 Zeichen benötigt, da 855 = 4437053125.

Wenn die 4 Bytes mit b1,b2,b3 und b4 bezeichnet werden, und die 5 kodierten Zeichen c1,...,c5, so ergibt sich folgende Umrechnungsformel:

(b_1\cdot256^3) + (b_2\cdot 256^2) + (b_3 \cdot 256) + b_4 = (c_1 \cdot 85^4) + (c_2 \cdot 85^3) + (c_3 \cdot 85^2) + (c_4 \cdot 85) + c_5

Mit anderen Worten: Die vier Bytes werden als 4stellige Zahl zur Basis 256 aufgefasst und in eine 5stellige Zahl zur Basis 85 umgewandelt.

Die Codes c1...c5 werden nun durch bestimmte druckbare ASCII-Zeichen repräsentiert.

[Bearbeiten] PostScript

Die Base85-Kodierung in PostScript addiert auf die Werte c1...c5 den Wert 33 und benutzt somit die ASCII-Werte 33 bis 118, welche den ASCII-Zeichen "!" bis "u" entsprechen. Einzige Ausnahme dabei: vier aufeinander folgende Nullbytes werden nicht durch "!!!!!" kodiert, sondern mit einem einzelnen "z". Bei der Kodierung können nach Belieben Leerzeichen und Zeilenumbrüche eingefügt werden, etwa um eine bestimmte maximale Zeilenlänge zu erreichen. Diese Zeichen werden bei der Dekodierung ignoriert. Alle anderen Zeichen stellen einen Fehler dar, worauf die Dekodierung abbricht.

[Bearbeiten] IPv6 Adressenkodierung nach RFC 1924

Eine etwas andere Kodierung wurde im RFC 1924 für IPv6-Adressen vorgeschlagen. Die zu kodierende 128-bit-IPv6-Adresse wird nicht in 4 Blöcke zu je 32 Bit zerteilt, sondern als eine 128-Bit-Zahl aufgefasst. Diese wird sukzessive durch 85 geteilt, die dabei auftretenden Reste sind die "Ziffern" der Base85-Kodierung.

Jede IPv6-Adresse lässt sich so in 20 Zahlen aus dem Bereich 0 ... 84 kodieren. Die Zuordnung dieser Zahlen zu ASCII-Zeichen erfolgt über eine Look-up-Tabelle, da man bei der Kodierung bestimmte ASCII-Zeichen, die „in bestimmten Umgebungen problematisch sein könnten“, vermeiden wollte. Die verwendete Look-up-Tabelle ist wie folgt:

Wert Zeichen   Wert Zeichen   Wert Zeichen   Wert Zeichen   Wert Zeichen
0 0 17 H 34 Y 51 p 68 )
1 1 18 I 35 Z 52 q 69 *
2 2 19 J 36 a 53 r 70 +
3 3 20 K 37 b 54 s 71 -
4 4 21 L 38 c 55 t 72  ;
5 5 22 M 39 d 56 u 73 <
6 6 23 N 40 e 57 v 74 =
7 7 24 O 41 f 58 w 75 >
8 8 25 P 42 g 59 x 76  ?
9 9 26 Q 43 h 60 y 77 @
10 A 27 R 44 i 61 z 78 ^
11 B 28 S 45 j 62  ! 79 _
12 C 29 T 46 k 63 # 80 `
13 D 30 U 47 l 64 $ 81 {
14 E 31 V 48 m 65 % 82 |
15 F 32 W 49 n 66 & 83 }
16 G 33 X 50 o 67 ( 84 ~

Nicht verwendet werden die ASCII-Zeichen: " ' , . / : [ \ ] sowie das Leerzeichen und Delete-Zeichen (ASCII Nr: 127).

[Bearbeiten] Sonstige Verwendung

Trotz des etwas geringeren Overheads hat sich die Base85-Kodierung – außer in Spezialgebieten – nicht durchsetzen können. Mittlerweile existiert mit basE91 ein noch effizienteres Verfahren. Für die ASCII-Kodierung von Binärdaten in E-Mails und Usenet-Artikeln ist nur die Base64-Kodierung nach dem MIME-Standard vorgesehen.

[Bearbeiten] Siehe auch

[Bearbeiten] Weblinks

Andere Sprachen

Static Wikipedia (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2007 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2006 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu

Static Wikipedia February 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu