Base 64

Base 64

Base64

En informatique, base64 est un codage de l'information utilisant 64 caractères, choisis pour être disponibles sur la majorité des systèmes. Il est principalement utilisé pour la transmission de messages (courrier électronique et messages de forum Usenet). Il est défini en tant que codage MIME.

Sommaire

Description

Un alphabet de 65 caractères est utilisé pour permettre la représentation de 6 bits par caractère. Le '=' (65e caractère) est utilisé dans le processus de codage pour les caractères finaux.

Le processus de codage représente des groupes de 24 bits de données en entrée par une chaîne en sortie de 4 caractères codés. En procédant de gauche à droite, un groupe de 24 bits est créé en concaténant 3 octets (8 bits par octet). Ces 24 bits sont traités comme 4 groupes concaténés de 6 bits chacun convertis en un unique caractère dans l'alphabet de la base 64.

Chaque groupe de 6 bits est utilisé comme index dans la table des caractères de la base 64. Le caractère référencé par l'index correspondant est utilisé comme codage de ce groupe de 6 bits.

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

Un traitement spécial est effectué si moins de 24 bits sont disponibles à la fin des données à coder. Aucun bit ne restant non-codé, si moins de 24 bits sont disponibles alors des bits à zéro sont ajoutés à la droite des données pour former un nombre entier de groupes de 6 bits. Étant donné que toutes les données d'entrées codées en base 64 sont constituées d'un nombre entier d'octets seuls trois cas sont possibles :

  • si la dernière partie des données d'entrée est constituée d'un nombre de bits multiple de 24, alors le dernier groupe de caractères de sortie sera un multiple de 4 caractères sans complément avec des '=' ;
  • si la dernière partie des données d'entrée fait exactement 8 bits, alors le dernier groupe de caractères de sortie sera composé de deux caractères de codage suivis des deux caractères '=' (de complément) ;
  • si la dernière partie des données d'entrée fait exactement 16 bits, alors le dernier groupe de caractères de sortie sera composé de trois caractères de codage suivis d'un caractère '=' (de complément).

base64url

Le document RFC 4648 prévoit une alternative pour un encodage compatible avec les noms de fichiers et les URI. En effet les caractères 62 (+) et 63 (/) peuvent poser problème avec certains systèmes de fichier et dans les URI. La solution retenue consiste à remplacer ces caractères respectivement par un moins (-) et un souligné (_). Le caractère de complément reste le =, mais peut être ignoré.

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

Exemple

Prenons le groupe de 3 caractères « Hi! ». Ci-dessous la première ligne indique en binaire l'équivalence de ces 3 octets. La transformation consiste comme on peut le voir, à séparer les bits pour former en sortie 4 groupes de 6 bits :

01001000 01101001 00100001 ⇔ 010010 000110 100100 100001

Les 4 groupes de 6 bits en sortie nous donnent les valeurs 18, 6, 36 et 33. Ainsi en suivant la correspondance de la table indexée nous obtenons les 4 caractères « SGkh ».

Exemple avec OpenSSL

Encodage d'un fichier texte en base64 :

$ openssl enc -base64 -in monfichier.txt -out monfichier.b64

Décodage d'un fichier texte en base64 :

$ openssl enc -d -base64 -in monfichier.b64 -out monfichier.txt

Liens externes

Ressources

  • Portail de l’informatique Portail de l’informatique
Ce document provient de « Base64 ».

Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article Base 64 de Wikipédia en français (auteurs)

Regardez d'autres dictionnaires:

  • base — base …   Dictionnaire des rimes

  • basé — basé …   Dictionnaire des rimes

  • base — [ baz ] n. f. • XIIe; lat. basis, mot gr. « marche, point d appui » I ♦ A ♦ 1 ♦ Partie inférieure d un corps sur laquelle il porte, il repose. ⇒ appui (point d appui), assiette, assise, 1. dessous, fond, fondement, pied. La base de l édifice… …   Encyclopédie Universelle

  • Base D'or — En mathématiques, le nombre d or, à savoir peut être utilisé comme une base de numération. Ce système est connu sous le nom base d or, ou accessoirement, phinaire (car le symbole pour le nombre d or est la lettre grecque « phi »). Tout… …   Wikipédia en Français

  • base — n Base, basis, foundation, ground, groundwork are comparable when meaning something on which another thing is reared or built or by which it is supported or fixed in place. Base may be applied to the lowest part or bottom of something without… …   New Dictionary of Synonyms

  • base — base·ball; base; base·less; base·lin·er; base·ly; base·man; base·ment; base·ness; de·base; de·base·ment; di·a·base; em·base; gnatho·base; gyno·base; im·base; iso·base; phal·lo·base; rheo·base; rim·base; scle·ro·base; sub·base; sur·base;… …   English syllables

  • base — base1 [bās] n. [ME < OFr bas < L basis,BASIS] 1. the thing or part on which something rests; lowest part or bottom; foundation 2. the fundamental or main part, as of a plan, organization, system, theory, etc. 3. the principal or essential… …   English World dictionary

  • Base — (b[=a]s), a. [OE. bass, F. bas, low, fr. LL. bassus thick, fat, short, humble; cf. L. Bassus, a proper name, and W. bas shallow. Cf. {Bass} a part in music.] 1. Of little, or less than the usual, height; of low growth; as, base shrubs. [Archaic]… …   The Collaborative International Dictionary of English

  • Base — or BASE may refer to:A base is a mixture of urine n waste so do not eat it* Base meaning bottom, the lowest part of an object* can mean negative, unfavorable or undesirable in nature. Bad; vile; malicious; evil.In mathematics: *Base (mathematics) …   Wikipedia

  • base — 1. a base de. Locución preposicional que, seguida de un sustantivo, expresa que lo denotado por este es el fundamento o componente principal: «Los [tallarines] verdes [...] están hechos a base de albahaca» (Cisneros Mestizaje [Perú 1995]).… …   Diccionario panhispánico de dudas

  • base — (Del lat. basis, y este del gr. βάσις). 1. f. Fundamento o apoyo principal de algo. 2. Conjunto de personas representadas por un mandatario, delegado o portavoz suyo. U. m. en pl.) 3. Lugar donde se concentra personal y equipo, para, partiendo de …   Diccionario de la lengua española


Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”

We are using cookies for the best presentation of our site. Continuing to use this site, you agree with this.