...

パッケージ quotedprintable

import "mime/quotedprintable"
概要
目次

概要 ▾

quotedprintable パッケージは,RFC 2045 で定義された quoted-printable エンコードを実装します。

type Reader 1.5

Reader は,引用符付き表示可能なデコーダです。

type Reader struct {
    // エクスポートされていないフィールドがあります
}

func NewReader 1.5

func NewReader(r io.Reader) *Reader

NewReader は, 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 := ioutil.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>

func (*Reader) Read 1.5

func (r *Reader) Read(p []byte) (n int, err error)

Read は,内部のリーダーから引用符付き表示可能データを読み取り,デコードします。

type Writer 1.5

Writer は, io.WriteCloser を実装している引用符付き出力可能なライターです。

type Writer struct {
    // バイナリモードは,ライターの入力を純粋なバイナリとして扱い,行末バイトをバイナリデータとして処理します。
    Binary bool
    // エクスポートされていないフィールドがあります
}

func NewWriter 1.5

func NewWriter(w io.Writer) *Writer

NewWriter は, w に書き込む新しい Writer を返します。

コード:

w := quotedprintable.NewWriter(os.Stdout)
w.Write([]byte("These symbols will be escaped: = \t"))
w.Close()

出力:

These symbols will be escaped: =3D =09

func (*Writer) Close 1.5

func (w *Writer) Close() error

Close は Writer を閉じて,書き込まれていないデータを内部の io.Writer にフラッシュしますが,内部の io.Writer は閉じません。

func (*Writer) Write 1.5

func (w *Writer) Write(p []byte) (n int, err error)

write は p を quoted-printable エンコードを使ってエンコードし,それを内部の io.Writer に書き込みます。 行の長さは 76 文字に制限されています。 エンコードされたバイトは,ライターが閉じられるまで必ずしもフラッシュされません。