| | |
| | |
| | |
| |
|
| | package mime_test |
| |
|
| | import ( |
| | "bytes" |
| | "fmt" |
| | "io" |
| | "mime" |
| | ) |
| |
|
| | func ExampleWordEncoder_Encode() { |
| | fmt.Println(mime.QEncoding.Encode("utf-8", "¡Hola, señor!")) |
| | fmt.Println(mime.QEncoding.Encode("utf-8", "Hello!")) |
| | fmt.Println(mime.BEncoding.Encode("UTF-8", "¡Hola, señor!")) |
| | fmt.Println(mime.QEncoding.Encode("ISO-8859-1", "Caf\xE9")) |
| | |
| | |
| | |
| | |
| | |
| | } |
| |
|
| | func ExampleWordDecoder_Decode() { |
| | dec := new(mime.WordDecoder) |
| | header, err := dec.Decode("=?utf-8?q?=C2=A1Hola,_se=C3=B1or!?=") |
| | if err != nil { |
| | panic(err) |
| | } |
| | fmt.Println(header) |
| |
|
| | dec.CharsetReader = func(charset string, input io.Reader) (io.Reader, error) { |
| | switch charset { |
| | case "x-case": |
| | |
| | |
| | |
| | content, err := io.ReadAll(input) |
| | if err != nil { |
| | return nil, err |
| | } |
| | return bytes.NewReader(bytes.ToUpper(content)), nil |
| | default: |
| | return nil, fmt.Errorf("unhandled charset %q", charset) |
| | } |
| | } |
| | header, err = dec.Decode("=?x-case?q?hello!?=") |
| | if err != nil { |
| | panic(err) |
| | } |
| | fmt.Println(header) |
| | |
| | |
| | |
| | } |
| |
|
| | func ExampleWordDecoder_DecodeHeader() { |
| | dec := new(mime.WordDecoder) |
| | header, err := dec.DecodeHeader("=?utf-8?q?=C3=89ric?= <eric@example.org>, =?utf-8?q?Ana=C3=AFs?= <anais@example.org>") |
| | if err != nil { |
| | panic(err) |
| | } |
| | fmt.Println(header) |
| |
|
| | header, err = dec.DecodeHeader("=?utf-8?q?=C2=A1Hola,?= =?utf-8?q?_se=C3=B1or!?=") |
| | if err != nil { |
| | panic(err) |
| | } |
| | fmt.Println(header) |
| |
|
| | dec.CharsetReader = func(charset string, input io.Reader) (io.Reader, error) { |
| | switch charset { |
| | case "x-case": |
| | |
| | |
| | |
| | content, err := io.ReadAll(input) |
| | if err != nil { |
| | return nil, err |
| | } |
| | return bytes.NewReader(bytes.ToUpper(content)), nil |
| | default: |
| | return nil, fmt.Errorf("unhandled charset %q", charset) |
| | } |
| | } |
| | header, err = dec.DecodeHeader("=?x-case?q?hello_?= =?x-case?q?world!?=") |
| | if err != nil { |
| | panic(err) |
| | } |
| | fmt.Println(header) |
| | |
| | |
| | |
| | |
| | } |
| |
|
| | func ExampleFormatMediaType() { |
| | mediatype := "text/html" |
| | params := map[string]string{ |
| | "charset": "utf-8", |
| | } |
| |
|
| | result := mime.FormatMediaType(mediatype, params) |
| |
|
| | fmt.Println("result:", result) |
| | |
| | |
| | } |
| |
|
| | func ExampleParseMediaType() { |
| | mediatype, params, err := mime.ParseMediaType("text/html; charset=utf-8") |
| | if err != nil { |
| | panic(err) |
| | } |
| |
|
| | fmt.Println("type:", mediatype) |
| | fmt.Println("charset:", params["charset"]) |
| | |
| | |
| | |
| | } |
| |
|