Skip to content

Encoding: Inconsistent example for packed repeated fields in Test4 message #282

@thew0205

Description

@thew0205

In the documentation section about packed repeated fields, the following example is given:

message Test4 {
string d = 4;
repeated int32 e = 6;
}

The text says:

“… and we construct a Test4 message with d set to "hello", and e set to 1, 2, and 3, this could be encoded as 3206038e029ea705, or written out as Protoscope,

4: {"hello"}
6: {3 270 86942}”

Problem:
The encoding 3206038e029ea705 corresponds to e = [3, 270, 86942], not [1, 2, 3].

If e = [1, 2, 3], the correct encoding should be:

32 03 01 02 03

which expands to:

32 → field 6, wire type = length-delimited

03 → length = 3 bytes

01 02 03 → values [1, 2, 3]

The given encoding 3206038e029ea705 decodes as:

32 → field 6, wire type = length-delimited

06 → length = 6 bytes

03 → value = 3

8e 02 → value = 270

9e a7 05 → value = 86942

So the example text and the provided encoding are inconsistent.

Suggested fix:
Update the documentation so that either:

The example values match the provided encoding (e = [3, 270, 86942]), or

The encoded hex string is corrected to match the described values (e = [1, 2, 3]).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions