I always feel more comfortable when specs contain bnf, so I'd like to offer
the following, as the syntactic specification for Quoted Printable (Section
5.1) Rules #1-4, with the bnf intended to follows those rules and NOT
alter them at all:
quoted-printable-part := *(q-print-line ["="] CRLF)
q-print-line := [p-print-str] *(lwsp q-print-str)
q-print-str := unquoted-char / quoted-char
unquoted-char := <8-bit value between decimal 33-57 or 59-126, inclusive>
quoted-char := "=" hex-hi-nibble hex-low-nibble
hex-hi-nibble := <upper four bits of quoted character>
hex-low-nibble := <lower four bits of quoted character>