On Sun, Feb 28, 2010 at 3:47 AM, adamdms <adam.kwintkiew...@gmail.com>wrote:
> I created (from tutorial example) below message. > > Person ID: 1 > Name: Adam > E-mail address: adam...@tlen.pl > Home phone #: 12345 > Mobile phone #: 9999 > Person ID: 2 > Name: Honorata > E-mail address: hon...@wp.pl > Work phone #: 44444 > Home phone #: 22222 > Person ID: 3 > Name: Przemek > E-mail address: przemekĀ©...@tlen.pl > Home phone #: 555555 > > It was encoded as: > 0A 2E 0A 04 41 64 61 6D 10 01 1A 0F 61 64 61 6D 64 6D 73 40 74 6C 65 > 6E 2E 70 6C 22 09 0A 05 31 32 33 34 35 10 01 22 08 0A 04 39 39 39 39 > 10 00 0A 30 0A 08 48 6F 6E 6F 72 61 74 61 10 02 1A 0C 68 6F 6E 63 69 > 6B 40 77 70 2E 70 6C 22 09 0A 05 34 34 34 34 34 10 02 22 09 0A 05 32 > 32 32 32 32 10 01 0A 2D 0A 07 50 72 7A 65 6D 65 6B 10 03 1A 14 70 72 > 7A 65 6D 65 6B C2 A9 63 6F 73 40 74 6C 65 6E 2E 70 6C 22 0A 0A 06 35 > 35 35 35 35 35 10 01 > > I don't understand that encoding! > 0A - 0|000 1010 - wire type 0 (variant); field number 1 (but in .proto > field "Person ID" has number 2) > This is field number 1, wire type 2 (length-delimited). Remember that the thing you are encoding is an AddressBook, not a Person. message AddressBook { repeated Person person = 1; } So the first byte is the tag for a person in the AddressBook. > 2E - 0|010 1110 - 46 (but first person has ID = 1) > This is the length of the Person message. > 0A - 0|000 1010 - wire type 0 (variant, but that field is string, it > should be type = 2); field number 1 (it is ok) > Now we're actually in the Person, so this is the "name" field. Note that fields are ordered by field number, so "name" always comes *before* "id". > 04 - length is ok > 41 - "A" > 64 - "d" > 61 - "a" > 6D - "m" > ... > > Can someone explain this to me? > > -- > You received this message because you are subscribed to the Google Groups > "Protocol Buffers" group. > To post to this group, send email to proto...@googlegroups.com. > To unsubscribe from this group, send email to > protobuf+unsubscr...@googlegroups.com<protobuf%2bunsubscr...@googlegroups.com> > . > For more options, visit this group at > http://groups.google.com/group/protobuf?hl=en. > > -- You received this message because you are subscribed to the Google Groups "Protocol Buffers" group. To post to this group, send email to proto...@googlegroups.com. To unsubscribe from this group, send email to protobuf+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/protobuf?hl=en.