UTF-7: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
m Annullate le modifiche di 46.235.137.198 (discussione), riportata alla versione precedente di AlessioBot |
mNessun oggetto della modifica |
||
(7 versioni intermedie di 7 utenti non mostrate) | |||
Riga 1:
'''UTF-7''' (Unicode Transformation Format,
{{Tabella Unicode}}▼
▲'''UTF-7''' (Unicode Transformation Format, ''7 bit'') è una [[codifica dei caratteri]] in sequenze di byte di lunghezza variabile, proposto per la rappresentazione di testo [[Unicode]] utilizzando un flusso di caratteri [[ASCII]]. Originariamente destinato alla codifica del testo in [[Unicode]] per la composizione di messaggi di [[posta elettronica]] in modo più efficiente rispetto alla combinazione di codifiche [[UTF-8]] e [[quoted-printable]], non diventò mai una codifica standard.
== Motivazione ==
Il moderno standard [[MIME]] che definisce il formato dei messaggi [[e-mail]], vieta la codifica delle [[Header | intestazioni]] utilizzando valori di byte superiori ai 7 bit dello [[ASCII]] standard. Anche se MIME consente la codifica del corpo del messaggio usando vari [[Codifica di caratteri | set di caratteri]], l'infrastruttura di trasmissione di base ([[Simple Mail Transfer Protocol
Qualora vengano seguite determinate regole di codifica, un testo UTF-7 potrà essere inviato per e-mail senza passare per
UTF-7 non è generalmente usato come una rappresentazione nativa all'interno di applicazioni in quanto è molto difficile da trattare. Nonostante i vantaggi in termini di spazio rispetto UTF-8 con quoted-printable o base64, il suo utilizzo è sconsigliato dall'[[Internet Mail Consortium]].
Line 17 ⟶ 15:
Alcuni caratteri possono essere rappresentati direttamente come singoli byte ASCII. Il primo gruppo è conosciuto come ''"caratteri diretti"'' e contiene 62 caratteri alfanumerici e 9 simboli: <code> ' ( ) , - . / : ? </code>. I caratteri diretti non hanno bisogno di codifica. L'altro gruppo principale, noto come "caratteri diretti opzionali", contiene tutti gli altri caratteri stampabili nell'intervallo U+0020–U+007E tranne <code> ~ \ + </code> e lo '''spazio'''. Utilizzando i caratteri diretti opzionali si riducono le dimensioni e migliora la leggibilità umana, ma aumentano le probabilità che il flusso sia corrotto da gateway di posta mal progettati e può richiedere più codifiche quando viene usato in campi di intestazione.
Spazio, tab, [[ritorno a capo]] e avanzamento di riga possono anche essere rappresentati direttamente come singoli byte ASCII. Tuttavia, se il testo codificato deve essere utilizzato in posta elettronica, è necessario fare in modo che questi caratteri sono utilizzati per scopi che non richiedano ulteriori codifiche di trasferimento per le e-mail. Il segno più (<code>+</code>) ''potrebbe'' essere codificato come <code>+-</code>.
Altri caratteri devono essere codificati in [[UTF-16]] (quindi U+10000 e superiori sarebbero codificati in loro surrogati) e poi in Base 64 modificato. L'avvio di questi blocchi è indicato da un segno <code>+</code>. La fine è indicato da qualsiasi carattere che non sia nel set Base64 modificato. Se il carattere dopo il blocco in Base64 modificato è un <code>-</code>, questo viene mangiato dal decoder e la decodifica prosegue con il carattere successivo. In caso contrario la decodifica riprende con il carattere che segue il blocco in Base64.
Line 41 ⟶ 39:
===Decodifica===
Il primo passo consiste nel separare il dato in semplici pezzi di testo ASCII e in blocchi Unicode non vuoti. Fatto questo, ogni [[Blocco (Unicode)|blocco Unicode]] deve essere decodificato con la seguente procedura (utilizzando il risultato dell'esempio precedente come esempio di decodifica):
#Esprimere ogni codice Base64 con la sequenza di bit che lo rappresenta:<br /><
#Raggruppare le cifre binarie in gruppi di sedici bit, a partire da sinistra:<br /><
#Se alla fine rimane un gruppo incompleto, scartarlo (Se il gruppo incompleto contiene più di quattro bit o contiene quelli, il codice non è valido): <br /><
#Ogni gruppo di [[16 bit]] corrisponde al numero di un carattere Unicode (UTF-16) e può essere espresso in altre forme:<br><
== Voci correlate ==
Line 58 ⟶ 56:
* RFC 2152, UTF-7 - A Mail-Safe Transformation Format of Unicode (Update)
* RFC 2060, IMAP - Version 4 rev1
▲{{Tabella Unicode}}
{{Portale|informatica}}
[[Categoria:Repertori di caratteri]]
|