public sealed class Type.Types.Struct.Types.Encoding.Types.OrderedCodeBytes : IMessage<Type.Types.Struct.Types.Encoding.Types.OrderedCodeBytes>, IEquatable<Type.Types.Struct.Types.Encoding.Types.OrderedCodeBytes>, IDeepCloneable<Type.Types.Struct.Types.Encoding.Types.OrderedCodeBytes>, IBufferMessage, IMessage
Reference documentation and code samples for the Google Cloud Bigtable Administration v2 API class Type.Types.Struct.Types.Encoding.Types.OrderedCodeBytes.
Fields are encoded independently and concatenated with the fixed byte pair {0x00, 0x01} in between.
Any null (0x00) byte in an encoded field is replaced by the fixed byte pair {0x00, 0xFF}.
Fields that encode to the empty string "" have special handling:
- If every field encodes to "", or if the STRUCT has no fields defined, then the STRUCT is encoded as the fixed byte pair {0x00, 0x00}.
- Otherwise, the STRUCT only encodes until the last non-empty field, omitting any trailing empty fields. Any empty fields that aren't omitted are replaced with the fixed byte pair {0x00, 0x00}.
Examples:
- STRUCT() -> "\00\00"
- STRUCT("") -> "\00\00"
- STRUCT("", "") -> "\00\00"
- STRUCT("", "B") -> "\00\00" + "\00\01" + "B"
- STRUCT("A", "") -> "A"
- STRUCT("", "B", "") -> "\00\00" + "\00\01" + "B"
- STRUCT("A", "", "C") -> "A" + "\00\01" + "\00\00" + "\00\01" + "C"
Since null bytes are always escaped, this encoding can cause size
blowup for encodings like Int64.BigEndianBytes
that are likely to
produce many such bytes.
Sorted mode:
- Fields are encoded in sorted mode.
- All values supported by the field encodings are allowed
- Element-wise order is preserved:
A < B
ifA[0] < B[0]
, or ifA[0] == B[0] && A[1] < B[1]
, etc. Strict prefixes sort first.
Distinct mode:
- Fields are encoded in distinct mode.
- All values supported by the field encodings are allowed.
Implements
IMessageTypeTypesStructTypesEncodingTypesOrderedCodeBytes, IEquatableTypeTypesStructTypesEncodingTypesOrderedCodeBytes, IDeepCloneableTypeTypesStructTypesEncodingTypesOrderedCodeBytes, IBufferMessage, IMessageNamespace
Google.Cloud.Bigtable.Admin.V2Assembly
Google.Cloud.Bigtable.Admin.V2.dll
Constructors
OrderedCodeBytes()
public OrderedCodeBytes()
OrderedCodeBytes(OrderedCodeBytes)
public OrderedCodeBytes(Type.Types.Struct.Types.Encoding.Types.OrderedCodeBytes other)
Parameter | |
---|---|
Name | Description |
other |
TypeTypesStructTypesEncodingTypesOrderedCodeBytes |