Věc: Test

Petr Tomasek tomasek na etf.cuni.cz
Středa Květen 14 08:25:30 CEST 2014


On Wed, May 14, 2014 at 06:31:58AM +0200, Pavel Troller wrote:
> Zdravím,
>   ještě jeden dodatek pro vysvětlenou. Víte, proč byl přijat jako jediný
> správný tvar oddělovače řádků CRLF a ne např. LFCR ?
>   Kvůli dálnopisným strojům a elektrickým psacím strojům.
>   Akce "CR" zde skutečně znamenala "Carriage Return", tj. návrat vozíku
> (buďto typového koše nebo válce dle konstrukce stroje), zatímco LF je
> skutečně Line Feed, neboli posun na nový řádek. Výše uvedená mechanická
> zařízení byla konstruována tak, aby obě činnosti mohly probíhat současně,
> tj. během návratu vozíku se současně pootočil válec na nový řádek. Jako
> první ale musela být iniciována akce návratu vozíku, neboť tato pohybuje
> mnohdy těžkou mechanickou sestavou a tedy její provedení trvá výrazně déle.
> Přijetí znaku "LF" bylo vítaným zpožděním, kdy během posunu o řádek stihl
> vozík dojet do výchozí polohy. Pokud jste do dálnopisného streamu poslali
> místo CRLF LFCR a bezprostředně na to další znaky, buďto bylo první písmeno
> nového řádku vytištěno na nedefinovaném místě papíru a nebo se dokonce
> papír o typovou páku při prudkém pohybu vozíku zpět roztrhl. A uvědomte si,
> že tyto standardy vznikaly v době, kdy kompatibilita s mechanickými 
> výstupními zařízeními ještě musela být udržována.
>   Zdraví Pavel

Hm, to ty přístroje neuměly počkat, až CR dojede?

P.T.

> 
> > Tak jsem právě zjistil, že se php funkce quoted_printable_encode chová 
> > takhle:
> > CRLF nechá jako CRLF
> > samotné CR zakóduje na =0D 
> > samotné LF zakóduje na =0A
> > LFCR zakóduje na =0A=0D
> > 
> > V dokumentaci se píše "Returns a quoted printable string created according 
> > to ? RFC2045, section 6.7."
> > 
> > Přišel jsem an to náhodou úplně bez souvislosti s tímto vláknem a nejdřív mě 
> > to dost zarazilo, ale jak tak koukám, ono to je nejspíš v souladu s tím RFC. 
> > Ale asi jsem to ještě pořádně nepochopil: Když zdroják v php, který něco 
> > posílá mailem, bude napsaný na platformě používající jako konec řádku jen 
> > LF, tak to taky tak bude ve stringu co tvoří tělo mailu. Ten když se podhodí 
> > quoted_printable_encode, tak se to LF dostane do těla mailu zakódované a u 
> > příjemce se to zase rozkóduje na LF. Vadí to něčemu? Anebo se mají před 
> > voláním quoted_printable_encode v tom stringu konce řádků přeměnit na CRLF 
> > aby to bylo důsledně v kanonické formě?
> > 
> > Dále: Pokud se v těle mailu před kódováním objeví samotné CR, samotné LF 
> > nebo dvojice LFCR, tak vadí to něčemu? Podle mě to snad bude chápáno jako 
> > jeden nebo dva oktety a ne jako "(4) (Line Breaks)", takže to bude následně 
> > zakódováno a na straně příjemce nejspíš zase odkódováno do stejného oktetu 
> > jako to poslal odesílatel, aniž by došlo k automatické konverzi konce řádku 
> > na CRLF nebo LF podle platformy. Skoro bych řekl, že dobrý mailový klient má 
> > umět zobrazit jako konec řádku jak CRLF tak samotné LF bez ohledu na to, že 
> > možná puristi říkají, že jen jedno je správně a to druhé nesmí v mailu být. 
> > 
> > D.O.
> > 
> > On 5 May 2014 at 10:10, Pavel Troller wrote:
> > > Zdravím,
> > > 
> > > > Mozete to prosim vysvetlit?
> > > 
> > > Ale zajisté, velmi rád!
> > > 
> > > > 
> > > > Ja tam vidim quoted-printable a =0D=0A ako CRLF, co je na tom nepatricne?
> > > 
> > > No právě to celé je nepatřičné! Viz tento odstavec, přímo z RFC 2045:
> > > 
> > >     (4)   (Line Breaks) A line break in a text body, represented
> > >           as a CRLF sequence in the text canonical form, must be
> > >           represented by a (RFC 822) line break, which is also a
> > >           CRLF sequence, in the Quoted-Printable encoding.  Since
> > >           the canonical representation of media types other than
> > >           text do not generally include the representation of
> > >           line breaks as CRLF sequences, no hard line breaks
> > >           (i.e. line breaks that are intended to be meaningful
> > >           and to be displayed to the user) can occur in the
> > >           quoted-printable encoding of such types.  Sequences
> > >           like "=0D", "=0A", "=0A=0D" and "=0D=0A" will routinely
> > >           appear in non-text data represented in quoted-
> > >           printable, of course.
> > > 
> > > Takže, tato sekvence má oprávnění výskytu v quoted-printable pouze pro
> > > "non-text data", což není náš případ, alespoň tak tomuto odstavci rozumím.
> > > 
> > > Jako důkaz přikládám i verbatim verzi původního mailu, ovšem celou:
> > > 
> > > --_-_-_=_Next_Part:FFFFFFFF.FFFFFEAE_=_-_-_
> > > Content-Type: text/plain;
> > >         charset=UTF-8
> > > Content-Transfer-Encoding: quoted-printable
> > > Content-Disposition: inline
> > > 
> > > Fruku Bruku :-) =0D=0A=0D=0A* P=C5=AFvodn=C3=AD zpr=C3=A1va *=0D=0AOd:=0D=
> > > =0Ahwnews at zirafoviny.cz=0D=0AOdesl=C3=A1na:=0D=0A8:25:49=0D=0A05.05.2014=0D=
> > > =0AKomu:=0D=0Ahw-list at list.hw.cz=0D=0AP=C5=99edm=C4=9Bt:=0D=0ATest=0D=0A=0D=
> > > =0ABruku fruku - test :-)   Sa=C5=A1a Svobodov=C3=A1
> > > --_-_-_=_Next_Part:FFFFFFFF.FFFFFEAE_=_-_-_ Content-Type: text/plain;
> > > charset="iso-8859-2" MIME-Version: 1.0 Content-Transfer-Encoding:
> > > quoted-printable Content-Disposition: inline
> > > 
> > > _______________________________________________
> > > HW-list mailing list  -  sponsored by www.HW.cz
> > > Hw-list at list.hw.cz
> > > http://list.hw.cz/mailman/listinfo/hw-list
> > > 
> > > --_-_-_=_Next_Part:FFFFFFFF.FFFFFEAE_=_-_-_--
> > > 
> > > Všimněte si prosím, že obsahuje 2 quoted-printable části, a to vlastní e-mail a
> > > hlavičku mailing-listu. A ta, ač je též quoted-printable, CRLF enkódované nemá.
> > > Japato ?
> > > 
> > > > 
> > > > Dakujem,
> > > 
> > > Není opravdu zač!
> > > 
> > > > 
> > > > wek
> > > 
> > > Zdraví Pavel
> > > 
> > > > 
> > > > _______________________________________________
> > > > HW-list mailing list  -  sponsored by www.HW.cz
> > > > Hw-list at list.hw.cz
> > > > http://list.hw.cz/mailman/listinfo/hw-list
> > > _______________________________________________
> > > HW-list mailing list  -  sponsored by www.HW.cz
> > > Hw-list at list.hw.cz
> > > http://list.hw.cz/mailman/listinfo/hw-list
> > 
> > 
> > 
> > _______________________________________________
> > HW-list mailing list  -  sponsored by www.HW.cz
> > Hw-list at list.hw.cz
> > http://list.hw.cz/mailman/listinfo/hw-list
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz
> Hw-list at list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list

-- 
Petr Tomasek <http://www.etf.cuni.cz/~tomasek>
Jabber: butrus at jabbim.cz



Další informace o konferenci Hw-list