Documentation ¶
Overview ¶
Deprecated, use https://github.com/alexcesaro/quotedprintable instead. Package quotedprintable implements quoted-printable and message header encoding as specified by RFC 2045 and RFC 2047.
Index ¶
- Constants
- Variables
- func Decode(dst, src []byte) (n int, err error)
- func DecodeHeader(header string) (text string, charset string, err error)
- func DecodeString(s string) ([]byte, error)
- func Encode(dst, src []byte) (n int)
- func EncodeToString(src []byte) string
- func MaxDecodedLen(n int) int
- func MaxEncodedLen(n int) int
- func NewDecoder(r io.Reader) io.Reader
- func NewEncoder(w io.Writer) io.Writer
- type HeaderEncoder
Examples ¶
Constants ¶
const ( // Q represents the Q-encoding defined in RFC 2047. Q = "Q" // B represents the Base64 encoding defined in RFC 2045. B = "B" )
Variables ¶
var StdHeaderEncoder = &HeaderEncoder{"UTF-8", Q, true}
StdHeaderEncoder is a RFC 2047 encoder for UTF-8 strings using Q encoding.
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. This function does not do any charset conversion, the returned text is encoded in the returned charset. So text is not necessarily encoded in UTF-8. As such, 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 { fmt.Println("error:", err) return } 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 NewDecoder ¶
NewDecoder returns a new quoted-printable stream decoder.
Types ¶
type HeaderEncoder ¶
type HeaderEncoder struct {
// contains filtered or unexported fields
}
HeaderEncoder in an encoder for encoded words.
func NewHeaderEncoder ¶
func NewHeaderEncoder(charset string, enc string) (*HeaderEncoder, error)
NewHeaderEncoder returns a new HeaderEncoder to encode strings in the specified charset using the encoding enc.
Example ¶
e, err := NewHeaderEncoder("UTF-8", B) if err != nil { fmt.Println("error:", err) return } fmt.Printf(e.EncodeHeader("Caf\xc3"))
Output: =?UTF-8?B?Q2Fmww==?=
func (*HeaderEncoder) EncodeHeader ¶
func (e *HeaderEncoder) EncodeHeader(s string) string
EncodeHeader encodes a string to be used as a MIME header value. It encodes the input only if it contains non-ASCII characters.