Кіріспе

Екілік мәтіндік кодтау

Quoted Printable немесе QP кодтау – 8 биттік деректерді 7 биттік дерек жолы арқылы немесе, жалпы алғанда, 8 биттік таза емес орта арқылы тарату үшін басып шығарылатын ASCII таңбаларын (әріп-сандық және тең белгісі =) қолданатын екілік-мәтіндік кодтау жүйесі. Тарихи тұрғыдан алғанда, хабарламаларды тарату үшін қолданылатын жүйелер мен протоколдардың кең ауқымы болғандықтан, электрондық пошта көбінесе 8 биттік таза емес деп есептелген. Дегенмен, қазіргі заманғы SMTP серверлерінің көпшілігі 8 биттік таза және 8BITMIME кеңейтуін қолдайды. Бұл кодтау рұқсат етілмеген октеттерді немесе SMTP шектеулерінен асып түсетін жол ұзындығын қамтитын деректермен де қолданылуы мүмкін. Ол электрондық поштада пайдалану үшін MIME мазмұнын беру кодтамасы ретінде анықталған. QP тең белгісі (=) арқылы қашып шығу таңбасын қолданады. Сондай-ақ, кейбір бағдарламалық қамтамасызда жол ұзындығы бойынша шектеулер болғандықтан, жол ұзындығы 76-ға дейін шектеледі.

Кіріспе

MIME электрондық пошта арқылы басқа да ақпараттарды жіберу механизмдерін анықтайды, соның ішінде ағылшын тілінен басқа тілдердегі мәтінді, ASCII-ден өзге таңба кодтауларын пайдалана отырып. Дегенмен, мұндай кодтаулар көбінесе ASCII диапазонынан тыс байт мәндерін қолданады, сондықтан оларды 8-бит емес таза ортада пайдалануға жарамды ету үшін одан әрі кодтау қажет. Quoted Printable кодтау – кез келген байтты ASCII таңбалар тізбегіне бейімдеу үшін қолданылатын әдістердің бірі. Осылайша, Quoted Printable өзі таңба кодтау схемасы емес, байтқа бағытталған таңба кодтаудың астында қолданылатын дерек кодтау қабаты. QP кодтау қайтымды, яғни бастапқы байттар мен олар көрсететін ASCII емес таңбаларды өзгеріссіз қалпына келтіруге болады. Quoted Printable және Base64 – екі MIME мазмұнын беру кодтаулары, егер қарапайым "7 биттік" және "8 биттік" кодтаулар ескерілмесе. Егер кодталатын мәтінде көптеген ASCII емес таңбалар болмаса, Quoted Printable оқуға оңай және ықшам кодталған нәтиже береді. Керісінше, егер кіріс деректе 8-биттік таңбалар көп болса, Quoted Printable оқылмайтын және өте тиімсіз болады. Base64 адамға оқылмайтын, бірақ барлық дерек үшін біркелкі үстемеге ие және екілік форматтарға немесе латын әліпбисінен өзге жазу жүйесіндегі мәтінге қолайлы таңдау болып табылады.

Цитатамен басып шығаратын кодтау

Кез келген 8 биттік байт мәні 3 таңбамен кодталуы мүмкін: = белгісінен кейін байттың сандық мәнін көрсететін екі он алтылық сан (0–9 немесе A–F) келеді. Мысалы, ASCII формасының жаңа жол таңбасын (ондық мәні 12) =0C арқылы көрсетуге болады, ал ASCII тең белгісін (ондық мәні 61) =3D арқылы көрсету керек. Басылатын ASCII таңбалары мен жол соңы таңбаларынан (бірақ = белгісінен басқа) барлық таңбалар осылай кодталуы тиіс. Барлық басылатын ASCII таңбалары (ондық мәндері 33 мен 126 аралығында) өздерімен көрсетілуі мүмкін, = (ондық 61, он алтылық 3D, демек =3D) белгісінен басқа. ASCII табуляция және бос орын таңбалары, 9 және 32 ондық мәндері, егер осы таңбалар кодталған жолдың соңында болмаса, өздерімен көрсетілуі мүмкін. Егер олар кодталған жолдың соңында пайда болса, оларды =09 (табуляция) немесе =20 (бос орын) деп жазу керек, немесе кодталған жолдың соңғы таңбасы ретінде = (жаңа жол белгісі) қою керек. Бұл соңғы шешім дұрыс, себебі ол табуляцияның немесе бос орынның кодталған жолдың соңғы таңбасы болуына жол бермейді. Егер кодталатын деректерде мағыналы жол үзілістері болса, оларды ASCII CR LF тізбегі ретінде кодтау керек, бастапқы байт мәндері ретінде тікелей немесе = белгісі арқылы емес. Керісінше, егер 13 және 10 байт мәндері жол соңынан басқа мағынаға ие болса (мысалы, медиа түрлерінде), оларды тиісінше =0D және =0A ретінде кодтау керек. Quoted Printable кодталған деректің жолдары 76 таңбадан аспауы керек. Бұл талапты кодталған мәтінді өзгертпей орындау үшін, қалауынша жаңа жол белгілерін қосуға болады. Жаңа жол белгісі – кодталған жолдың соңындағы = белгісі, ол декодталған мәтінде жол үзілісі ретінде көрінбейді. Бұл жаңа жол белгілері жол үзілістері жоқ (немесе өте ұзын жолдардан тұратын) мәтінді кодтауға мүмкіндік береді, мысалы, кейбір SMTP бағдарламалық қамтамасының 1000 таңбаға дейінгі жол шегінде, RFC 2821 талаптарына сәйкес. Quoted Printable-дің сәл өзгертілген түрі хабарлама тақырыптарында қолданылады; қараңыз MIME#Encoded Word.