UTF-7: diferència entre les revisions
Contingut suprimit Contingut afegit
Pàgina nova, amb el contingut: « ''' UTF-7 ''' (7 - bit Unicode Transformation Format) és una codificació de caràcters de longitud variable que va ser proposada per representar text...». |
Cap resum de modificació |
||
Línia 1:
''' UTF-7 ''' (7
▲''' UTF-7 ''' (7 - [[bit]] [[Unicode Transformation Format]]) és una codificació de caràcters de longitud variable que va ser proposada per representar text codificat amb [[Unicode]] utilitzant un flux de caràcters [[ASCII]], per ser usat, per exemple en missatges de [[correu electrònic]] de [[Internet]]. Malgrat el nom, UTF-7 no és un format de transformació i no forma part de l'estàndard [[Unicode]].
El protocol bàsic de transport de missatges de [[correu electrònic]] a [[Internet]], [[SMTP]] especifica que el format de transmissió és [[ASCII]] i no permet valors de bytes fora d'aquest rang. [[MIME]] proveeix una manera d'especificar un [[conjunt de caràcters]], permetent l'ús de diferents conjunts de caràcters incloent [[UTF-8]] i [[UTF-16]]. No obstant això, la infraestructura de transmissió subjacent encara no garanteix suport per a 8 bits i per tant és necessari codificar el contingut per poder transmetre-ho. Per desgràcia, [[base64]] té el problema de fer illegibles fins i tot els caràcters [[ASCII]] i la combinació de [[UTF-8]] amb [[Quoted-Printable]] produeix un format molt ineficient ja que requereixen entre 6 a 9 bytes per cada caràcter no [[ASCII]] dins de [[Basic Multilingual Plane|BMP]] i 12 bytes per a caràcters fora de [[Basic Multilingual Plane|BMP]].
Linha 17 ⟶ 15:
Alguns conjunts de caràcters poden ser representats directament amb bytes únics de [[ASCII]]. El primer conjunt és conegut com "caràcters directes" i conté tots els 62 caràcters [[Alfanumèric|alfanumèrics]] i 9 símbols: <code> '(), -./: </Code>. Els caràcters directes són considerats molt segurs per a ser inclosos literalment. L'altre conjunt principal, conegut com "caràcters directes opcionals", conté tots els altres caràcters imprimibles en el rang{{O+}}0020-U+007E excepte <code> # \+</code> i el caràcter espai. Usant els caràcters directes opcionals es redueix la mida i es millora la llegibilitat per als [[Homo_Sapiens|éssers humans]], però, també s'incrementen les possibilitats d'errors a conseqüència d'[[Gateway_ (informàtica)|portes d'enllaç]] de correu mal configurades, a més, pot requerir caràcters de ECAP extra quan es combina amb [[MIME # Encoded-Word|encoded word]].
L'''
Altres caràcters han de ser codificats en [[UTF-16]] i després
== Exemples ==
Linha 25 ⟶ 23:
* "<tt> Hola Món ! </tt>" és codificat com "<tt> Hola Món ! </tt>"
* "<tt> 1" 1 = 2 </tt> "és codificat com" <tt> 1+- 1 = 2 </tt>"
* "<tt> £ 1 </tt>" és codificat com "<tt>+AKM-1 </tt> ". El codi [[Unicode]] per al símbol de lliura és O+00A3 (el qual és <tt> 00A3 </tt> <sub> 16 </sub> en UTF-16), es converteix en [[Modified Base64]] com es mostra a la taula a continuació.
{|Border = "1" cellpadding = "5" cellspacing = "0"
Linha 50 ⟶ 48:
== Algorisme per a codificar i descodificar UTF-7 manualment ==
=== Codificar ===
Primerament un codificador ha de decidir quins caràcters representar directament
Una vegada que les seqüències [[unicode]] s'han decidit, aquestes han de ser codificades usant el següent procediment i després envoltades amb els delimitadors apropiats
Linha 70 ⟶ 68:
=== Decodificar ===
Primerament el missatge ha de ser separat en: ''text pla [[ASCII]] i blocs [[unicode]]'' com es va esmentar en la secció de [[# Descripció|descripció]], un cop fet això els blocs [[unicode]] han de ser
# Expressar cada codi [[Base64]] com la seqüència de [[bit]]s que representa: <br/> <tt> AKMgIA → 000.000 001.010 001.100 100.000 001.000 000.000 </tt>
|