uuencode

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


Wikimedia Foundation. 2010.

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

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

Regardez d'autres dictionnaires:

  • Uuencode — war das erste verbreitete Programm, das es ermöglichte, Binärdateien (also z. B. Bilder oder Programme) so umzuwandeln, dass sie nur noch aus „druckbaren ASCII Zeichen“ bestehen und dadurch problemlos per E Mail verschickt werden konnten, in… …   Deutsch Wikipedia

  • UUencode — war das erste verbreitete Programm, das es ermöglichte, Binärdateien (also z. B. Bilder oder Programme) so umzuwandeln, dass sie nur noch aus „druckbaren ASCII Zeichen“ bestehen und dadurch problemlos per E Mail verschickt werden konnten, in …   Deutsch Wikipedia

  • 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 …   Wikipédia en Français

  • UUEncode — proviene de UNIX to Unix Encoding. Se trata de un algoritmo de codificación que transforma código binario en texto. Concretamente, la entrada es un bloque de bytes de 8 bits (generalmente un archivo binario), y la salida un bloque texto de varias …   Wikipedia Español

  • UUEncode — proviene de UNIX to Unix Encoding . Se trata de un algoritmo de codificacion que transforma datos binarios en texto. Concretamente, la entrada es un bloque de bytes de 8 bits (generalmente un archivo binario), y la salida un bloque texto de… …   Enciclopedia Universal

  • UUEncode — UUEncode,   UU Kodierung …   Universal-Lexikon

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

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

  • uuencode —    Pronounced [you youen code].    1. To convert a binary file such as a graphical image into a text file so that the file can be sent over the Internet or to a Usenet newsgroup as a part of an e mail message. When you receive a uuencoded… …   Dictionary of networking

  • uuencode — verb To encode (binary data) into a text based format for transmission. See Also: uudecode …   Wiktionary

Share the article and excerpts

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