Documentation ¶
Overview ¶
Package quotedprintable implements quoted-printable and message header encoding as specified by RFC 2045 and RFC 2047.
Index ¶
- func Decode(dst, src []byte) (n int, err error)
- func DecodeHeader(header string) (text, charset string, err error)
- func DecodeString(s string) ([]byte, error)
- func Encode(dst, src []byte) int
- func EncodeToString(src []byte) string
- func MaxDecodedLen(n int) int
- func MaxEncodedLen(n int) int
- func NeedsEncoding(s string) bool
- func NewDecoder(r io.Reader) io.Reader
- func NewEncoder(w io.Writer) io.Writer
- type Encoding
- type HeaderEncoder
Examples ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Decode ¶
Decode decodes src into at most MaxDecodedLen(len(src)) bytes to dst, returning the actual number of bytes written to dst.
func DecodeHeader ¶
DecodeHeader decodes a MIME header by decoding all encoded-words of the header. The returned text is encoded in the returned charset. Text is not necessarily encoded in UTF-8. Returned charset is always upper case. This function does not support decoding headers with multiple encoded-words using different charsets.
Example ¶
// text is not encoded in UTF-8 but in ISO-8859-1 text, charset, err := DecodeHeader("=?ISO-8859-1?Q?Caf=C3?=") if err != nil { panic(err) } fmt.Printf("Text: %q, charset: %q", text, charset)
Output: Text: "Caf\xc3", charset: "ISO-8859-1"
func DecodeString ¶
DecodeString returns the bytes represented by the quoted-printable string s.
Example ¶
str := "=C2=A1Hola, se=C3=B1or!" data, err := DecodeString(str) if err != nil { fmt.Println("error:", err) return } fmt.Printf("%s\n", data)
Output: ¡Hola, señor!
func Encode ¶
Encode encodes src into at most MaxEncodedLen(len(src)) bytes to dst, returning the actual number of bytes written to dst.
func EncodeToString ¶
EncodeToString returns the quoted-printable encoding of src.
Example ¶
data := []byte("¡Hola, señor!") str := EncodeToString(data) fmt.Println(str)
Output: =C2=A1Hola, se=C3=B1or!
func MaxDecodedLen ¶
MaxDecodedLen returns the maximum length of a decoding of n source bytes.
func MaxEncodedLen ¶
MaxEncodedLen returns the maximum length of an encoding of n source bytes.
func NeedsEncoding ¶
NeedsEncoding returns whether the given header content needs to be encoded into an encoded-words.
func NewDecoder ¶
NewDecoder returns a new quoted-printable stream decoder.
Types ¶
type Encoding ¶
type Encoding string
Encoding represents the encoding used in encoded-words. It must be one of the two encodings defined in RFC 2047 ("B" or "Q" encoding).
func (Encoding) NewHeaderEncoder ¶
func (enc Encoding) NewHeaderEncoder(charset string) *HeaderEncoder
NewHeaderEncoder returns a new HeaderEncoder to encode strings in the specified charset.
type HeaderEncoder ¶
type HeaderEncoder struct {
// contains filtered or unexported fields
}
A HeaderEncoder is an RFC 2047 encoded-word encoder.
func (*HeaderEncoder) Encode ¶
func (e *HeaderEncoder) Encode(s string) string
Encode encodes a string to be used as a MIME header value.