UUE ( în engleză Uuencode ) este o metodă de reprezentare a datelor binare sub formă de text, potrivită pentru transmiterea prin mijloace numai text (de exemplu, prin e-mail , FTN , NNTP ) ( codarea transportului ).
Numele provine de la decodarea numelui programului uuencode/uudecode: Unix-To-Unix encoding (decoding) . Mai târziu, UUE în mediul Internet (e-mail, grupuri de știri) a fost înlocuit cu MIME , totuși și-a păstrat popularitatea în rețeaua Fidonet .
Yuyuki este un termen de argou pentru codurile UUE în Fidonet.
Datele UUE încep cu șirul begin mode file, unde modul reprezintă permisiunile fișierului Unix în octal (pentru aplicațiile DOS/Windows acest număr este întotdeauna 644) și fișierul este numele fișierului sursă.
La codificare, trei octeți de date sunt preluați din fișier (dacă rămân mai puțin de 3 octeți, cei lipsă sunt înlocuiți cu zerouri) [1] . Cei 24 de biți care alcătuiesc acești trei octeți sunt împărțiți în patru grupuri de 6 biți. Fiecare grup de șase biți este interpretat ca un număr (de la 0 la 2 6 −1=63), la care se adaugă 32. Numărul rezultat din intervalul de la 32 la 95 este interpretat ca un cod de caractere în tabelul ASCII (caractere de la spațiu (32) la subliniere (95)). Pot fi folosite și alte caractere ASCII, dar numai cei șase biți inferiori ai codului caracterelor sunt semnificativi. [unu]
Fiecare grup de 60 de caractere (corespunzător la 45 de octeți ai fișierului sursă) este utilizat pentru a crea o linie separată [1] . La începutul rândului este indicat numărul de caractere codificate din rând (în toate rândurile, cu excepția ultimului, acest număr este 45, adică caracterul „M”). Fiecare linie se termină cu un caracter newline (\n sau \n\r în funcție de platformă) [1] .
După terminarea datelor din fișierul codificat, este plasată o linie care conține un singur spațiu (și o linie nouă) și o linie cu textul „sfârșit”.
Uneori, „caracterele goale” sunt adăugate la sfârșitul șirului de date, de obicei caracterul ` (din care cei 6 biți inferiori sunt zerouri) pentru a preveni coruperea șirurilor de caractere ale unor e-maileri.
Un exemplu de codificare a cuvântului englezesc Cat.
Simboluri sursă | C | a | t | |||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
coduri ASCII (zecimal) | 67 | 97 | 116 | |||||||||||||||||||||
ASCII (binar) | 0 | unu | 0 | 0 | 0 | 0 | unu | unu | 0 | unu | unu | 0 | 0 | 0 | 0 | unu | 0 | unu | unu | unu | 0 | unu | 0 | 0 |
Noi valori zecimale | 16 | 54 | 5 | 52 | ||||||||||||||||||||
+32 | 48 | 86 | 37 | 84 | ||||||||||||||||||||
Simboluri UUE | 0 | V | % | T |
Rezultatul final (cuvântul Cat este codificat):
începe 644 cat.txt #0V%T ` SfârşitSimbol | cod zecimal ASCII |
cod binar | Simbol | cod zecimal ASCII |
cod binar | |
---|---|---|---|---|---|---|
(spaţiu) | 32 | 000 000 | @ | 64 | 100.000 | |
! | 33 | 000 001 | A | 65 | 100 001 | |
" | 34 | 000 010 | B | 66 | 100 010 | |
# | 35 | 000 011 | C | 67 | 100 011 | |
$ | 36 | 000 100 | D | 68 | 100 100 | |
% | 37 | 000 101 | E | 69 | 100 101 | |
& | 38 | 000 110 | F | 70 | 100 110 | |
' | 39 | 000 111 | G | 71 | 100 111 | |
( | 40 | 001 000 | H | 72 | 101 000 | |
) | 41 | 001 001 | eu | 73 | 101 001 | |
* | 42 | 001 010 | J | 74 | 101 010 | |
+ | 43 | 001 011 | K | 75 | 101 011 | |
, | 44 | 001 100 | L | 76 | 101 100 | |
- | 45 | 001 101 | M | 77 | 101 101 | |
. | 46 | 001 110 | N | 78 | 101 110 | |
/ | 47 | 001 111 | O | 79 | 101 111 | |
0 | 48 | 010 000 | P | 80 | 110 000 | |
unu | 49 | 010 001 | Q | 81 | 110 001 | |
2 | cincizeci | 010 010 | R | 82 | 110 010 | |
3 | 51 | 010 011 | S | 83 | 110 011 | |
patru | 52 | 010 100 | T | 84 | 110 100 | |
5 | 53 | 010 101 | U | 85 | 110 101 | |
6 | 54 | 010 110 | V | 86 | 110 110 | |
7 | 55 | 010 111 | W | 87 | 110 111 | |
opt | 56 | 011 000 | X | 88 | 111 000 | |
9 | 57 | 011 001 | Y | 89 | 111 001 | |
: | 58 | 011 010 | Z | 90 | 111 010 | |
; | 59 | 011 011 | [ | 91 | 111 011 | |
< | 60 | 011 100 | \ | 92 | 111 100 | |
= | 61 | 011 101 | ] | 93 | 111 101 | |
> | 62 | 011 110 | ^ | 94 | 111 110 | |
? | 63 | 011 111 | _ | 95 | 111 111 | |
` | 96 | (1) 000 000 |
UUE în Fidonet este standardul de facto pentru transferul de date binare. Acest lucru se datorează faptului că unele noduri au refuzat să trimită fișiere „atașate” (litere cu steag Att), ceea ce a făcut ca UUE să fie populară ca alternativă. Ca un alt mijloc de combatere a transmiterii de date binare, unele noduri au configurat mailere și tossere pentru a refuza transmiterea acelor mesaje care conțin UUE. [2]
Pentru a asigura compatibilitatea cu software-ul mai vechi [3] , dimensiunea mesajului în multe conferințe eco până în 2004-2005 a fost limitată, de exemplu, la 32 kB . Ținând cont de informațiile de serviciu adăugate în timpul distribuției de corespondență prin Fidonet, scrisoarea nu a fost recomandată să depășească dimensiunea de 500 de linii (~22 kB din fișierul original). Fișierele mai mari sunt trimise în mai multe e-mailuri, fiecare e-mail conținând o secțiune UUE . În acest caz, antetul literei indică de obicei numărul de serie al secțiunii, precum și numărul total de secțiuni (în forma [6/55], unde 6 este numărul secțiunii curente și 55 este numărul total de secțiuni). Numărul secțiunii de pornire diferă în funcție de software-ul utilizat (0 sau 1).
În conferințele cu ecou, capacitatea de a utiliza UUE este guvernată de regulile conferinței; conform cerinței R50 echopolis , pentru a accepta o conferință pentru o obligație regională, regulile acesteia trebuie să conțină o restricție în sediul UUE. [4] Există multe conferințe non-terestre (non-regionale ecou-back) specializate în transmiterea codurilor UUE.
Plasarea neautorizată a unui volum mare UUE este considerată XAB . Există un precedent pentru o excomunicare urgentă a unui nod 2:5030/950 pentru un utilizator care pune un nod în conferința SU.KASCHENKO.LOCAL aproximativ 16 MB de fișiere MP3 în format UUE.
Serializare formate de date digitale | |
---|---|
Text | |
Internet și telecomunicații |
|
Mass-media | |
Alte |
Comenzi Unix | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
|