Team Ai
Datasetpublic

codekingpro/portable-devtools

sourceHugging Faceupdated 5mo agoView on Hugging Face
1likes14kdownloads
example_test.go124 linesDownload Raw Back to mime
1// Copyright 2015 The Go Authors. All rights reserved.2// Use of this source code is governed by a BSD-style3// license that can be found in the LICENSE file.4 5package mime_test6 7import (8	"bytes"9	"fmt"10	"io"11	"mime"12)13 14func ExampleWordEncoder_Encode() {15	fmt.Println(mime.QEncoding.Encode("utf-8", "¡Hola, señor!"))16	fmt.Println(mime.QEncoding.Encode("utf-8", "Hello!"))17	fmt.Println(mime.BEncoding.Encode("UTF-8", "¡Hola, señor!"))18	fmt.Println(mime.QEncoding.Encode("ISO-8859-1", "Caf\xE9"))19	// Output:20	// =?utf-8?q?=C2=A1Hola,_se=C3=B1or!?=21	// Hello!22	// =?UTF-8?b?wqFIb2xhLCBzZcOxb3Ih?=23	// =?ISO-8859-1?q?Caf=E9?=24}25 26func ExampleWordDecoder_Decode() {27	dec := new(mime.WordDecoder)28	header, err := dec.Decode("=?utf-8?q?=C2=A1Hola,_se=C3=B1or!?=")29	if err != nil {30		panic(err)31	}32	fmt.Println(header)33 34	dec.CharsetReader = func(charset string, input io.Reader) (io.Reader, error) {35		switch charset {36		case "x-case":37			// Fake character set for example.38			// Real use would integrate with packages such39			// as code.google.com/p/go-charset40			content, err := io.ReadAll(input)41			if err != nil {42				return nil, err43			}44			return bytes.NewReader(bytes.ToUpper(content)), nil45		default:46			return nil, fmt.Errorf("unhandled charset %q", charset)47		}48	}49	header, err = dec.Decode("=?x-case?q?hello!?=")50	if err != nil {51		panic(err)52	}53	fmt.Println(header)54	// Output:55	// ¡Hola, señor!56	// HELLO!57}58 59func ExampleWordDecoder_DecodeHeader() {60	dec := new(mime.WordDecoder)61	header, err := dec.DecodeHeader("=?utf-8?q?=C3=89ric?= <eric@example.org>, =?utf-8?q?Ana=C3=AFs?= <anais@example.org>")62	if err != nil {63		panic(err)64	}65	fmt.Println(header)66 67	header, err = dec.DecodeHeader("=?utf-8?q?=C2=A1Hola,?= =?utf-8?q?_se=C3=B1or!?=")68	if err != nil {69		panic(err)70	}71	fmt.Println(header)72 73	dec.CharsetReader = func(charset string, input io.Reader) (io.Reader, error) {74		switch charset {75		case "x-case":76			// Fake character set for example.77			// Real use would integrate with packages such78			// as code.google.com/p/go-charset79			content, err := io.ReadAll(input)80			if err != nil {81				return nil, err82			}83			return bytes.NewReader(bytes.ToUpper(content)), nil84		default:85			return nil, fmt.Errorf("unhandled charset %q", charset)86		}87	}88	header, err = dec.DecodeHeader("=?x-case?q?hello_?= =?x-case?q?world!?=")89	if err != nil {90		panic(err)91	}92	fmt.Println(header)93	// Output:94	// Éric <eric@example.org>, Anaïs <anais@example.org>95	// ¡Hola, señor!96	// HELLO WORLD!97}98 99func ExampleFormatMediaType() {100	mediatype := "text/html"101	params := map[string]string{102		"charset": "utf-8",103	}104 105	result := mime.FormatMediaType(mediatype, params)106 107	fmt.Println("result:", result)108	// Output:109	// result: text/html; charset=utf-8110}111 112func ExampleParseMediaType() {113	mediatype, params, err := mime.ParseMediaType("text/html; charset=utf-8")114	if err != nil {115		panic(err)116	}117 118	fmt.Println("type:", mediatype)119	fmt.Println("charset:", params["charset"])120	// Output:121	// type: text/html122	// charset: utf-8123}124 
codekingpro/portable-devtools · Team Ai