textgolang.org/x/text/encoding/ianaindex Index | Examples | Files

package ianaindex

import "golang.org/x/text/encoding/ianaindex"

Package ianaindex maps names to Encodings as specified by the IANA registry. This includes both the MIME and IANA names.

See http://www.iana.org/assignments/character-sets/character-sets.xhtml for more details.

Index

Examples

Types

type Index

type Index struct {
	// contains filtered or unexported fields
}

Index maps names registered by IANA to Encodings. Currently different Indexes only differ in the names they return for encodings. In the future they may also differ in supported aliases.

var (
	// MIME is an index to map MIME names.
	MIME *Index = mime

	// IANA is an index that supports all names and aliases using IANA names as
	// the canonical identifier.
	IANA *Index = iana

	// MIB is an index that associates the MIB display name with an Encoding.
	MIB *Index = mib
)
Example

Code:play 

package main

import (
	"fmt"

	"golang.org/x/text/encoding/charmap"
	"golang.org/x/text/encoding/ianaindex"
)

func main() {
	fmt.Println(ianaindex.MIME.Name(charmap.ISO8859_7))
	fmt.Println(ianaindex.IANA.Name(charmap.ISO8859_7))
	fmt.Println(ianaindex.MIB.Name(charmap.ISO8859_7))

	e, _ := ianaindex.IANA.Encoding("cp437")
	fmt.Println(ianaindex.IANA.Name(e))

}

Output:

ISO-8859-7 <nil>
ISO_8859-7:1987 <nil>
ISOLatinGreek <nil>
IBM437 <nil>

func (*Index) Encoding

func (x *Index) Encoding(name string) (encoding.Encoding, error)

Encoding returns an Encoding for IANA-registered names. Matching is case-insensitive.

If the provided name doesn't match a IANA-registered charset, an error is returned. If the name matches a IANA-registered charset but isn't supported, a nil encoding and a nil error are returned.

func (*Index) Name

func (x *Index) Name(e encoding.Encoding) (string, error)

Name reports the canonical name of the given Encoding. It will return an error if the e is not associated with a known encoding scheme.

Source Files

ascii.go ianaindex.go tables.go

Version
v0.22.0 (latest)
Published
Feb 4, 2025
Platform
linux/amd64
Imports
15 packages
Last checked
1 day ago

Tools for package owners.