Quoted printable
Från Rilpedia
Quoted printable (QP) är en kodningsmetod för att koda 8-bitars binär data till 7-bitarsdata, så att den kan skickas till exempel via e-post. Många e-postservrar (SMTP-servrar) klarar inte binär 8-bitarsdata.
Quoted printable är lämplig att använda på text om mängden binär data (tecknen 128-255 decimalt) är liten, till exempel för vanlig brödtext (kodad i t.ex. UTF-8 eller någon av de västerländska iso-8859-kodningarna). Texten är då mer eller mindre läslig (om också kodningen fått nidnamnet "quoted unreadable") och filstorleken växer bara något. Om mängden binär data är stor är Base64 lämpligare att använda eftersom den i detta fall inte expanderar datat lika mycket som Quoted Printable. Exempel på det senare är en JPEG-bild eller kinesiska. Base64 är också tryggare, eftersom vissa QP-tecken kan påverkas av konvertering från ett system till ett annat.
Kodningen görs i grova drag på följande sätt[1]:
- Tecknen i intervallet (decimalt) 33-60 och 62-126 (i ASCII: det engelska alfabetet, siffror och interpunktion, "=" undantaget) kan lämnas som de är
- Tecknen 9 (TAB) och 32 (blanktecken) kan lämnas som de är, utom i slutet av raden
- Radbyten i formen ASCII CR följt av ASCII LF bör lämnas som de är (radbyten konverteras i många fall till denna form före kodningen)
- Övriga tecken kodas som "=" följt av tecknet i tvåsiffrig hexadecimalform (t.ex. blir åäö =E5=E4=F6), så alltså också CR och LF då de förekommer tillsammans utan att beteckna radbyte eller förekommer var för sig
- Tecken andra än radbyten av ovannämnda form får kodas hexadecimalt enligt ovan (t.ex. för att undvika problem vid konvertering till EBCDIC), radbyten av ovannämnda form kan kodas så om detta är väsentligt för datats integritet (t.ex. i viss programkod)
- Rader får inte vara längre än 76 tecken (själva radbytet oräknat); om raden bryts utan att motsvarande radbyte (i form av CR LF) fanns i ursprungsdatat läggs "=" till som sista tecken före radbytet