> unix | classique | héritage <

// UUencoding - encodage Unix-to-Unix pour la transmission de données binaires dans des canaux texte

[UNIX]

Standard Unix historique

Méthode d'encodage classique utilisée pendant des décennies pour l'email, les groupes de discussion et le transfert de fichiers sous Unix.

[COMPATIBLE]

Large compatibilité

Pris en charge nativement par de nombreux systèmes Unix/Linux et clients de messagerie hérités.

[STRUCTURÉ]

Format auto‑contenu

Inclut les permissions de fichier et le nom dans la sortie, ce qui facilite la reconstruction côté réception.

>> informations techniques

Comment fonctionne UUencoding:

UUencoding convertit des données binaires en texte ASCII en utilisant des caractères imprimables à partir de l'espace (ASCII 32). Trois octets sont encodés en quatre caractères, de manière similaire à Base64 mais avec un jeu de caractères différent et des lignes précédées d'en‑têtes begin/end.

Exemple:

"Hello" → begin 644 data\n%2&5L;&\\`\n`\nend

Pourquoi utiliser UUencoding:

  • >Compatibilité avec les systèmes Unix/Linux et les outils historiques
  • >Préservation des permissions et du nom de fichier
  • >Format auto‑contenu facile à transférer par email ou Usenet
  • >Utile pour analyser d'anciens archives et scripts
  • >Bonne solution lorsque des outils attendent spécifiquement du UUencode

>> questions fréquentes

Qu'est‑ce que UUencoding ?

UUencoding (Unix‑to‑Unix encoding) est un schéma d'encodage binaire‑vers‑texte historiquement utilisé pour transférer des fichiers binaires via des canaux texte uniquement comme l'email ou Usenet.

En quoi UUencoding diffère‑t‑il de Base64 ?

Comme Base64, UUencoding encode 3 octets en 4 caractères, mais utilise un autre jeu de caractères à partir de l'espace (ASCII 32) et ajoute des informations de permissions et de nom de fichier dans les lignes begin/end.

Quand dois‑je utiliser UUencoding aujourd'hui ?

Utilisez UUencoding lorsque vous devez rester compatible avec des scripts et outils Unix plus anciens, ou lorsque des systèmes existants attendent spécifiquement des fichiers UUencodés.

UUencoding est‑il encore pertinent ?

Même si Base64 est devenu le standard moderne, UUencoding reste présent dans certains utilitaires Unix/Linux, archives historiques et flux d'email hérités.

// Aide-mémoire

NomDescription
Length charbyte count + 32 (45 bytes -> M)
Group3 bytes -> 4 chars, each 6 bits + 32 (space..underscore)
Zero valuebacktick ` instead of space
Lineup to 45 bytes -> 60 chars
Headerbegin 644 filename
Trailer` line, then end

// Exemple détaillé

Input   Cat      (0x43 0x61 0x74)
Bits    010000 110110 000101 110100  = 16 54 5 52
+32     48 86 37 84  ->  0 V % T
Line    #0V%T        (# = 3 bytes + 32)

begin 644 cat.txt
#0V%T
`
end

>> Autres questions

Q : Qu’est-ce que UUencode ?

R : Une méthode historique d’Unix (« Unix-to-Unix encode ») qui convertit des données binaires en caractères ASCII imprimables pour les envoyer par e-mail ou Usenet. 3 octets deviennent 4 caractères, soit ~33 % de surcoût.

Q : En quoi UUencode diffère-t-il de Base64 ?

R : Les deux transforment 3 octets en 4 caractères. UUencode ajoute 32 à chaque valeur de 6 bits (caractères de l’espace à « _ »), Base64 utilise A–Z a–z 0–9 + /. UUencode ajoute aussi un caractère de longueur par ligne et des lignes begin/end avec nom de fichier et droits.

Q : UUencode est-il encore utilisé ?

R : Rarement. MIME avec Base64 l’a largement remplacé pour l’e-mail. On le croise dans d’anciennes archives Usenet et les outils Unix uuencode/uudecode. Pour du neuf, préférez Base64.

Autres langues