package encoding

Import Path
	encoding (on go.dev)

Dependency Relation
	imports 0 packages, and imported by 28 packages

Involved Source Files Package encoding defines interfaces shared by other packages that convert data to and from byte-level and textual representations. Packages that check for these interfaces include encoding/gob, encoding/json, and encoding/xml. As a result, implementing an interface once can make a type useful in multiple encodings. Standard types that implement these interfaces include time.Time and net.IP. The interfaces come in pairs that produce and consume encoded data. Adding encoding/decoding methods to existing types may constitute a breaking change, as they can be used for serialization in communicating with programs written with different library versions. The policy for packages maintained by the Go project is to only allow the addition of marshaling functions if no existing, reasonable marshaling exists.
Package-Level Type Names (total 6)
/* sort by: | */
BinaryAppender is the interface implemented by an object that can append the binary representation of itself. If a type implements both [BinaryAppender] and [BinaryMarshaler], then v.MarshalBinary() must be semantically identical to v.AppendBinary(nil). 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)]. *crypto/internal/fips140/sha256.Digest *crypto/internal/fips140/sha3.Digest *crypto/internal/fips140/sha3.SHAKE *crypto/internal/fips140/sha512.Digest *crypto/sha3.SHA3 *crypto/sha3.SHAKE crypto/x509.OID github.com/google/go-github/v66/github.Timestamp github.com/jinzhu/now.Now github.com/libp2p/go-libp2p/p2p/transport/websocket.Addr *math/rand/v2.ChaCha8 *math/rand/v2.PCG net/netip.Addr net/netip.AddrPort net/netip.Prefix *net/url.URL time.Time
BinaryMarshaler is the interface implemented by an object that can marshal itself into a binary form. MarshalBinary encodes the receiver into a binary form and returns the result. ( BinaryMarshaler) MarshalBinary() (data []byte, err error) *crypto/internal/fips140/sha256.Digest *crypto/internal/fips140/sha3.Digest *crypto/internal/fips140/sha3.SHAKE *crypto/internal/fips140/sha512.Digest *crypto/sha3.SHA3 *crypto/sha3.SHAKE crypto/x509.OID *github.com/bits-and-blooms/bitset.BitSet *github.com/cespare/xxhash/v2.Digest github.com/google/go-github/v66/github.Timestamp github.com/google/uuid.NullUUID github.com/google/uuid.UUID github.com/ipfs/go-cid.Cid github.com/jinzhu/now.Now *github.com/klauspost/compress/zstd/internal/xxhash.Digest github.com/libp2p/go-libp2p/core/peer.ID github.com/libp2p/go-libp2p/p2p/transport/websocket.Addr *github.com/multiformats/go-multiaddr.Component github.com/multiformats/go-multiaddr.Multiaddr github.com/oklog/ulid.ULID github.com/oklog/ulid/v2.ULID *github.com/pion/dtls/v2.State *github.com/pion/dtls/v3.State github.com/pion/stun.Message github.com/pion/stun/v3.Message *github.com/RoaringBitmap/roaring.Bitmap *math/rand/v2.ChaCha8 *math/rand/v2.PCG net/netip.Addr net/netip.AddrPort net/netip.Prefix *net/url.URL time.Time
BinaryUnmarshaler is the interface implemented by an object that can unmarshal a binary representation of itself. UnmarshalBinary must be able to decode the form generated by MarshalBinary. UnmarshalBinary must copy the data if it wishes to retain the data after returning. ( BinaryUnmarshaler) UnmarshalBinary(data []byte) error *crypto/internal/fips140/sha256.Digest *crypto/internal/fips140/sha3.Digest *crypto/internal/fips140/sha3.SHAKE *crypto/internal/fips140/sha512.Digest *crypto/sha3.SHA3 *crypto/sha3.SHAKE *crypto/x509.OID *github.com/bits-and-blooms/bitset.BitSet *github.com/cespare/xxhash/v2.Digest *github.com/google/go-github/v66/github.Timestamp *github.com/google/uuid.NullUUID *github.com/google/uuid.UUID *github.com/ipfs/go-cid.Cid *github.com/jinzhu/now.Now *github.com/klauspost/compress/zstd/internal/xxhash.Digest *github.com/libp2p/go-libp2p/core/peer.ID github.com/libp2p/go-libp2p/p2p/transport/websocket.Addr *github.com/multiformats/go-multiaddr.Component *github.com/multiformats/go-multiaddr.Multiaddr *github.com/oklog/ulid.ULID *github.com/oklog/ulid/v2.ULID *github.com/pion/dtls/v2.State *github.com/pion/dtls/v3.State *github.com/pion/stun.Message *github.com/pion/stun/v3.Message *github.com/RoaringBitmap/roaring.Bitmap *math/rand/v2.ChaCha8 *math/rand/v2.PCG *net/netip.Addr *net/netip.AddrPort *net/netip.Prefix *net/url.URL *time.Time
TextAppender is the interface implemented by an object that can append the textual representation of itself. If a type implements both [TextAppender] and [TextMarshaler], then v.MarshalText() must be semantically identical to v.AppendText(nil). 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)]. crypto/x509.OID github.com/google/go-github/v66/github.Timestamp github.com/jinzhu/now.Now log/slog.Level *log/slog.LevelVar *math/big.Float *math/big.Int *math/big.Rat net.IP net/netip.Addr net/netip.AddrPort net/netip.Prefix *regexp.Regexp time.Time
TextMarshaler is the interface implemented by an object that can marshal itself into a textual form. MarshalText encodes the receiver into UTF-8-encoded text and returns the result. ( TextMarshaler) MarshalText() (text []byte, err error) crypto/x509.OID github.com/alecthomas/chroma/v2.StyleEntry github.com/alecthomas/chroma/v2.TokenType github.com/apache/arrow-go/v18/parquet/compress.Compression github.com/apache/arrow-go/v18/parquet/internal/gen-go/parquet.BoundaryOrder github.com/apache/arrow-go/v18/parquet/internal/gen-go/parquet.CompressionCodec github.com/apache/arrow-go/v18/parquet/internal/gen-go/parquet.ConvertedType github.com/apache/arrow-go/v18/parquet/internal/gen-go/parquet.EdgeInterpolationAlgorithm github.com/apache/arrow-go/v18/parquet/internal/gen-go/parquet.Encoding github.com/apache/arrow-go/v18/parquet/internal/gen-go/parquet.FieldRepetitionType github.com/apache/arrow-go/v18/parquet/internal/gen-go/parquet.PageType github.com/apache/arrow-go/v18/parquet/internal/gen-go/parquet.Type *github.com/dlclark/regexp2.Regexp github.com/google/go-github/v66/github.Timestamp github.com/google/uuid.NullUUID github.com/google/uuid.UUID github.com/ipfs/go-cid.Cid github.com/jinzhu/now.Now github.com/libp2p/go-libp2p/core/peer.ID github.com/mazznoer/csscolorparser.Color *github.com/multiformats/go-multiaddr.Component github.com/multiformats/go-multiaddr.Multiaddr github.com/oklog/ulid.ULID github.com/oklog/ulid/v2.ULID github.com/pion/ice/v4.Role github.com/pion/webrtc/v4.DataChannelState github.com/pion/webrtc/v4.DTLSTransportState github.com/pion/webrtc/v4.ICECandidateType github.com/pion/webrtc/v4.ICERole github.com/pion/webrtc/v4.ICETransportState github.com/pkg/errors.Frame github.com/polarsignals/iceberg-go.BucketTransform github.com/polarsignals/iceberg-go.DayTransform github.com/polarsignals/iceberg-go.HourTransform github.com/polarsignals/iceberg-go.IdentityTransform github.com/polarsignals/iceberg-go.MonthTransform github.com/polarsignals/iceberg-go.Transform (interface) github.com/polarsignals/iceberg-go.TruncateTransform github.com/polarsignals/iceberg-go.VoidTransform github.com/polarsignals/iceberg-go.YearTransform *github.com/prometheus/common/model.Duration go.uber.org/zap.AtomicLevel go.uber.org/zap/zapcore.Level golang.org/x/text/internal/language.Tag golang.org/x/text/language.Tag log/slog.Level *log/slog.LevelVar *math/big.Float *math/big.Int *math/big.Rat net.IP net/netip.Addr net/netip.AddrPort net/netip.Prefix oss.terrastruct.com/d2/d2ast.Position oss.terrastruct.com/d2/d2ast.Range *regexp.Regexp time.Time func flag.TextVar(p TextUnmarshaler, name string, value TextMarshaler, usage string) func flag.(*FlagSet).TextVar(p TextUnmarshaler, name string, value TextMarshaler, usage string)
TextUnmarshaler is the interface implemented by an object that can unmarshal a textual representation of itself. UnmarshalText must be able to decode the form generated by MarshalText. UnmarshalText must copy the text if it wishes to retain the text after returning. ( TextUnmarshaler) UnmarshalText(text []byte) error *crypto/x509.OID *github.com/alecthomas/chroma/v2.TokenType *github.com/apache/arrow-go/v18/parquet/compress.Compression *github.com/apache/arrow-go/v18/parquet/internal/gen-go/parquet.BoundaryOrder *github.com/apache/arrow-go/v18/parquet/internal/gen-go/parquet.CompressionCodec *github.com/apache/arrow-go/v18/parquet/internal/gen-go/parquet.ConvertedType *github.com/apache/arrow-go/v18/parquet/internal/gen-go/parquet.EdgeInterpolationAlgorithm *github.com/apache/arrow-go/v18/parquet/internal/gen-go/parquet.Encoding *github.com/apache/arrow-go/v18/parquet/internal/gen-go/parquet.FieldRepetitionType *github.com/apache/arrow-go/v18/parquet/internal/gen-go/parquet.PageType *github.com/apache/arrow-go/v18/parquet/internal/gen-go/parquet.Type *github.com/dlclark/regexp2.Regexp *github.com/google/go-github/v66/github.Timestamp *github.com/google/uuid.NullUUID *github.com/google/uuid.UUID *github.com/ipfs/go-cid.Cid *github.com/jinzhu/now.Now *github.com/libp2p/go-libp2p/core/peer.ID *github.com/mazznoer/csscolorparser.Color *github.com/multiformats/go-multiaddr.Component *github.com/multiformats/go-multiaddr.Multiaddr *github.com/oklog/ulid.ULID *github.com/oklog/ulid/v2.ULID *github.com/pion/ice/v4.Role *github.com/pion/webrtc/v4.DataChannelState *github.com/pion/webrtc/v4.DTLSTransportState *github.com/pion/webrtc/v4.ICECandidateType *github.com/pion/webrtc/v4.ICERole *github.com/pion/webrtc/v4.ICETransportState *github.com/prometheus/common/model.Duration *go.uber.org/zap.AtomicLevel *go.uber.org/zap/zapcore.CallerEncoder *go.uber.org/zap/zapcore.DurationEncoder *go.uber.org/zap/zapcore.Level *go.uber.org/zap/zapcore.LevelEncoder *go.uber.org/zap/zapcore.NameEncoder *go.uber.org/zap/zapcore.TimeEncoder *golang.org/x/text/internal/language.Tag *golang.org/x/text/language.Tag *log/slog.Level *log/slog.LevelVar *math/big.Float *math/big.Int *math/big.Rat *net.IP *net/netip.Addr *net/netip.AddrPort *net/netip.Prefix *oss.terrastruct.com/d2/d2ast.Position *oss.terrastruct.com/d2/d2ast.Range *regexp.Regexp *time.Time func flag.TextVar(p TextUnmarshaler, name string, value TextMarshaler, usage string) func flag.(*FlagSet).TextVar(p TextUnmarshaler, name string, value TextMarshaler, usage string)