Spec-Zone.ru › Go

Пакет encoding

  • import "encoding"
  • Обзор
  • Указатель
  • Подкаталоги

Обзор

Пакет encoding определяет интерфейсы, общие для других пакетов, которые преобразуют данные в байтовые и текстовые представления и обратно. Эти интерфейсы проверяют пакеты encoding/gob, encoding/json и encoding/xml. Благодаря этому реализация интерфейса один раз может сделать тип пригодным для использования с несколькими форматами кодирования. К стандартным типам, реализующим эти интерфейсы, относятся time.Time и net.IP. Интерфейсы образуют пары: одни создают закодированные данные, другие их потребляют.

Добавление методов кодирования/декодирования к существующим типам может нарушить совместимость, поскольку эти методы могут использоваться для сериализации при обмене данными с программами, написанными с другими версиями библиотеки. Политика пакетов, поддерживаемых проектом Go, допускает добавление функций маршалинга, только если подходящего существующего способа маршалинга нет.

Указатель

  • тип BinaryAppender
  • тип BinaryMarshaler
  • тип BinaryUnmarshaler
  • тип TextAppender
  • тип TextMarshaler
  • тип TextUnmarshaler

Файлы пакета

encoding.go

тип BinaryAppender 1.24

BinaryAppender — это интерфейс, реализуемый объектом, который может добавлять своё двоичное представление. Если тип реализует и BinaryAppender, и BinaryMarshaler, то v.MarshalBinary() должен быть семантически идентичен v.AppendBinary(nil).

type BinaryAppender interface {
    // AppendBinary appends the binary representation of itself to the end of b
    // (allocating a larger slice if necessary) and returns the updated slice.
    //
    // Implementations must not retain b, nor mutate any bytes within b[:len(b)].
    AppendBinary(b []byte) ([]byte, error)
}

тип BinaryMarshaler 1.2

BinaryMarshaler — это интерфейс, реализуемый объектом, который может преобразовать себя в двоичное представление.

MarshalBinary кодирует получателя в двоичное представление и возвращает результат.

type BinaryMarshaler interface {
    MarshalBinary() (data []byte, err error)
}

тип BinaryUnmarshaler 1.2

BinaryUnmarshaler — это интерфейс, реализуемый объектом, который может восстановить себя из двоичного представления.

UnmarshalBinary должен уметь декодировать представление, созданное MarshalBinary. Если UnmarshalBinary необходимо сохранить данные после возврата, он должен скопировать их.

type BinaryUnmarshaler interface {
    UnmarshalBinary(data []byte) error
}

тип TextAppender 1.24

TextAppender — это интерфейс, реализуемый объектом, который может добавлять своё текстовое представление. Если тип реализует и TextAppender, и TextMarshaler, то v.MarshalText() должен быть семантически идентичен v.AppendText(nil).

type TextAppender interface {
    // AppendText appends the textual representation of itself to the end of b
    // (allocating a larger slice if necessary) and returns the updated slice.
    //
    // Implementations must not retain b, nor mutate any bytes within b[:len(b)].
    AppendText(b []byte) ([]byte, error)
}

тип TextMarshaler 1.2

TextMarshaler — это интерфейс, реализуемый объектом, который может преобразовать себя в текстовое представление.

MarshalText кодирует получателя в текст в кодировке UTF-8 и возвращает результат.

type TextMarshaler interface {
    MarshalText() (text []byte, err error)
}

тип TextUnmarshaler 1.2

TextUnmarshaler — это интерфейс, реализуемый объектом, который может восстановить себя из текстового представления.

UnmarshalText должен уметь декодировать представление, созданное MarshalText. Если UnmarshalText необходимо сохранить текст после возврата, он должен скопировать его.

type TextUnmarshaler interface {
    UnmarshalText(text []byte) error
}

Подкаталоги

Имя Краткое описание
..
ascii85 Пакет ascii85 реализует кодирование данных ascii85, используемое в утилите btoa и форматах документов PostScript и PDF компании Adobe.
asn1 Пакет asn1 реализует разбор структур данных ASN.1, закодированных в DER, согласно рекомендации ITU-T X.690.
base32 Пакет base32 реализует кодирование base32 согласно RFC 4648.
base64 Пакет base64 реализует кодирование base64 согласно RFC 4648.
binary Пакет binary реализует простое преобразование чисел в последовательности байтов и обратно, а также кодирование и декодирование вариационных целых чисел.
csv Пакет csv читает и записывает файлы со значениями, разделёнными запятыми (CSV).
gob Пакет gob управляет потоками gob — двоичными значениями, которыми обмениваются [Encoder] (передатчик) и [Decoder] (получатель).
hex Пакет hex реализует шестнадцатеричное кодирование и декодирование.
json Пакет json реализует кодирование и декодирование JSON согласно RFC 7159.
jsontext Пакет jsontext реализует синтаксическую обработку JSON согласно RFC 4627, RFC 7159, RFC 7493, RFC 8259 и RFC 8785.
v2 Пакет json реализует семантическую обработку JSON согласно RFC 8259.
pem Пакет pem реализует кодирование данных PEM, возникшее в рамках проекта Privacy Enhanced Mail.
xml Пакет xml реализует простой парсер XML 1.0, поддерживающий пространства имён XML.

© Google, Inc.
Licensed under the Creative Commons Attribution License 3.0.
http://golang.org/pkg/encoding/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API