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

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