Uudecode

Uudecode

uuencode

Les programmes uuencode et son symétrique uudecode sont des programmes de conversions de données binaires en texte, disponibles sur la quasi-totalité des systèmes Unix/Linux, il permettent de convertir sans dégradation des données binaires en vue de leur transmission via un support qui ne le permettrait pas normalement. Ces deux programmes et l'algorithme qu'ils implémentent ont été portés sur un très grand nombre de systèmes d'exploitation. Le nom uuencode vient de Unix to Unix Encoding.

Sommaire

Histoire

Ces deux programmes ont été écrits avant l'utilisation massive d'Internet afin en particulier que la suite logicielle uucp puisse transporter fiablement des fichiers binaires. Cette suite logicielle permet des communications inter-serveurs via modem et était initialement conçue pour échanger du texte simple (en n'utilisant qu'une partie des 128 caractères ASCII).

Ils ont été principalement utilisés pour la transmission de messages (courrier électronique et forums Usenet) mais aujourd'hui leur utilisation est largement remplacée par les extensions MIME et en particulier l'encodage base64 (qui emploie un jeu de caractères plus portable dans le flux encodé).

Principe de fonctionnement

Le programme uuencode produit un flux de texte (une succession de caractères ASCII) dont la première ligne est :

 begin <mode> <nom>

<mode> et <nom> sont remplacés respectivement par la valeur octale représentant les droits d'accès à placer sur le fichier décodé et par le nom du fichier à construire lors du décodage. Le flux de données encodées se termine par une ligne contenant juste le texte :

 end

Entre ces deux lignes seuls les 65 caractères suivants peuvent être rencontrés :

 es !  "  #  $  %  &  '  (  )  *  +  ,  -  .  /
 0  1  2  3  4  5  6  7  8  9  :  ;  <  =  >  ?
 @  A  B  C  D  E  F  G  H  I  J  K  L  M  N  O
 P  Q  R  S  T  U  V  W  X  Y  Z  [  \  ]  ^  _
 `

le caractère noté es ci-dessus est le caractère ASCII représentant un espace et dont le code numérique est 32. Les autres caractères portent les codes numériques allant de 32+1 à 32+64.

Le programme d'encodage lit le fichier d'origine par groupe de trois octets (éventuellement complété par des octets de valeur nulle si le nombre d'octets à encoder n'est pas mulitple de 3), puis convertit ces trois octets (soit 24 bits) en quatre groupes de 6 bits chacun, ensuite à chaque groupe de 6 bits (qui représente en base 10 un nombre compris entre 0 et 63) est ajouté la valeur 32, la valeur résultante est alors le code ASCII de l'un des caractères présentés plus haut, ce caractère est employé par l'encodeur dans le flux de sortie.

Le programme d'encodage ajoute également, et au début de chaque ligne de texte produit, le compte de caractères employés dans cette ligne et limite la taille des lignes produites à 61 caractères (soit 45 octets encodés en 60 caractères + 1 caractère pour la longueur). Ce compte de caractères (allant de 2 pour un seul octet à 60 pour 45 octets) est lui même encodé en l'augmentant de 32 avant d'être convertit en un caractère ASCII à son tour.

Exemple

Cet exemple sert à illustrer le fonctionnement de l'encodage ; cependant comme les octets à encoder représentent ici les codes ASCII d'un texte, il n'y aurait aucune utilité à utiliser uuencode dans ce cas. Le texte utilisé en exemple est « Oh! » :

Texte O h  !
Octets à encoder (0 à 255 et en base 10) 79 104 33
Convertits en bits (base 2) 0 1 0 0 1 1 1 1 0 1 1 0 1 0 0 0 0 0 1 0 0 0 0 1
Valeur décimale de chaque groupe de 6 bits (0 à 63) 19 54 32 33
+32 51 86 64 65
Caractère produit par l'encodage 3 V @ A

L'encodage produisant ici exactement quatre octets (et 3+32=35 soit le code ASCII du caractère #) le texte émis par l'encodeur est donc :

 #3V@A

Voir aussi

Références

Liens

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

Wikimedia Foundation. 2010.

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

Игры ⚽ Поможем сделать НИР

Regardez d'autres dictionnaires:

  • UUDecode — UUDecode,   UU Kodierung …   Universal-Lexikon

  • Uudecode — UUE (англ. Uuencode)  метод представления двоичных данных в текстовой форме, пригодной для передачи через средства, предназначенные только для передачи текстов (например, через e mail, FTN, транспортное кодирование). Название происходит от… …   Википедия

  • uudecode —    Pronounced [you you decode].    1. To convert a text file created by the Unix uuencode utility back into its original binary form. Graphical images and other binary files are often sent to Usenet newsgroups in this form, because the newsgroups …   Dictionary of networking

  • UUDECODE — Unix To Unix Decode …   Acronyms

  • uudecode — ● /U U de kod/ np. ►MAIL Contraire d uuencode …   Dictionnaire d'informatique francophone

  • UUDECODE — Unix To Unix Decode …   Acronyms von A bis Z

  • uudecode — n. program which enables users to download binary files encoded by uuencode from newsgroup messages or electronic mail (Computers) …   English contemporary dictionary

  • UUdecode —    UNIX to UNIX decode allows binary files that have been uuencoded into ASCII text files to be translated back into binary files …   IT glossary of terms, acronyms and abbreviations

  • UUDECODE — comp. abbr. Unix To Unix Decoding …   United dictionary of abbreviations and acronyms

  • Uuencoding — is a form of binary to text encoding that originated in the Unix program uuencode, for encoding binary data for transmission over the uucp mail system. The name uuencoding is derived from Unix to Unix encoding . Since uucp converted characters… …   Wikipedia

Share the article and excerpts

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