Reference documentation and code samples for the Cloud Bigtable V2 Client class 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.
Generated from protobuf message google.bigtable.admin.v2.Type.Struct.Encoding.OrderedCodeBytes
Namespace
Google \ Cloud \ Bigtable \ Admin \ V2 \ Type \ Struct \ EncodingMethods
__construct
Constructor.
Parameter | |
---|---|
Name | Description |
data |
array
Optional. Data for populating the Message object. |