Пакет quotedprintable
Обзор
Пакет quotedprintable реализует кодирование quoted-printable, определённое в RFC 2045.
Указатель
Файлы пакета
reader.go writer.go
тип Reader 1.5
Reader — это декодер quoted-printable.
type Reader struct {
// contains filtered or unexported fields
}
функция NewReader 1.5
func NewReader(r io.Reader) *Reader
NewReader возвращает reader quoted-printable, декодирующий данные из r.
Пример
Код:
for _, s := range []string{
`=48=65=6C=6C=6F=2C=20=47=6F=70=68=65=72=73=21`,
`invalid escape: <b style="font-size: 200%">hello</b>`,
"Hello, Gophers! This symbol will be unescaped: =3D and this will be written in =\r\none line.",
} {
b, err := io.ReadAll(quotedprintable.NewReader(strings.NewReader(s)))
fmt.Printf("%s %v\n", b, err)
}
Вывод:
Hello, Gophers! <nil> invalid escape: <b style="font-size: 200%">hello</b> <nil> Hello, Gophers! This symbol will be unescaped: = and this will be written in one line. <nil>
функция (*Reader) Read 1.5
func (r *Reader) Read(p []byte) (n int, err error)
Read считывает и декодирует данные quoted-printable из базового reader.
тип Writer 1.5
Writer — это writer quoted-printable, реализующий интерфейс io.WriteCloser.
type Writer struct {
// Binary mode treats the writer's input as pure binary and processes end of
// line bytes as binary data.
Binary bool
// contains filtered or unexported fields
}
функция NewWriter 1.5
func NewWriter(w io.Writer) *Writer
NewWriter возвращает новый Writer, который записывает данные в w.
Пример
Код:
w := quotedprintable.NewWriter(os.Stdout)
w.Write([]byte("These symbols will be escaped: = \t"))
w.Close()
Вывод:
These symbols will be escaped: =3D =09
функция (*Writer) Close 1.5
func (w *Writer) Close() error
Close закрывает Writer, записывая все невыведенные данные в базовый io.Writer, но не закрывает сам io.Writer.
функция (*Writer) Write 1.5
func (w *Writer) Write(p []byte) (n int, err error)
Write кодирует p с помощью кодирования quoted-printable и записывает результат в базовый io.Writer. Длина строки ограничивается 76 символами. Закодированные байты могут оставаться незаписанными до закрытия Writer.
© Google, Inc.
Licensed under the Creative Commons Attribution License 3.0.
http://golang.org/pkg/mime/quotedprintable/