Spec-Zone.ru › Go

Пакет кодирования

  • import "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 и форматах документов Adobe PostScript и PDF.
asn1 Пакет asn1 реализует парсинг DER-закодированных структур данных ASN.1, как определено в ITU-T Rec X.690.
base32 Пакет base32 реализует кодирование base32, как указано в RFC 4648.
base64 Пакет base64 реализует кодирование base64, как указано в RFC 4648.
binary Пакет binary реализует простое преобразование между числами и последовательностями байтов, а также кодирование и декодирование varints.
csv Пакет csv считывает и записывает файлы с разделителями запятыми (CSV).
gob Пакет gob управляет потоками gobs — двоичными значениями, обмениваемыми между [Encoder] (передатчиком) и [Decoder] (приёмником).
hex Пакет hex реализует шестнадцатеричное кодирование и декодирование.
json Пакет json реализует кодирование и декодирование JSON, как определено в RFC 7159.
pem Пакет pem реализует кодирование данных PEM, которое первоначально использовалось в электронной почте с повышенной конфиденциальностью.
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