Thanks for all. I figured out. The problem with "{0 0 0 18}" really
was in Qt library, not in protobuffs.

On 11 июл, 07:53, Kenton Varda <ken...@google.com> wrote:
> On Sat, Jul 10, 2010 at 12:00 PM, jamesmikedup...@googlemail.com <
>
> jamesmikedup...@googlemail.com> wrote:
> > the leading variant in c++ is most likely in the wrong byte order if
> > you are running a x86 machine. as i said, you need to flip them.
> > mike
>
> Mike, varint (I assume that's what you meant by "variant") is a completely
> different, variable-width integer encoding.  It is not affected by the
> machine's byte order.
>
> Furthermore, Protocol Buffers handles all endianness issues internally, so
> if you are using Coded{Input,Output}Stream exclusively, you can't have byte
> ordering issues.
>
>
>
>
>
> > On Sat, Jul 10, 2010 at 8:53 PM, Maxim Leonovich <lm.b...@gmail.com>
> > wrote:
> > > I watched on both buffers: they are similar, but in C++ I can't find a
> > > leading Variant32 with size, when in Java it exists. The rests of
> > > buffers are identical.
> > >http://pic4.ru/8337
> > >http://pic4.ru/8338
> > >http://pic4.ru/8339
>
> > > On 10 июл, 19:33, Evan Jones <ev...@mit.edu> wrote:
> > >> On Jul 10, 2010, at 7:47 , Maxim Leonovich wrote:
>
> > >> > ArrayOutputStream(buffer,msg.ByteSize() + 4,sizeof(char));
>
> > >> The documentation states:
>
> > >> block_size is mainly useful for testing; in production you would
> > >> probably never want to set it.
>
> > >> So you should get rid of the "sizeof(char)" part.
>
> > >> >    cos->WriteLittleEndian32(msg.ByteSize()); //Tryed
> > >> > "WriteVariant32", didn't help
> > >> >    msg.SerializeToCodedStream(cos);
>
> > >> If you want to use Java's .parseDelimitedFrom, you *must* use
> > >> WriteVarint32, because that is the format it expects the length
> > >> prefix. In this case, you'll need to call ArrayOutputStream::
> > >> ByteCount() to figure out how many bytes were actually serialized.
>
> > >> You also probably should create the ArrayOutputStream and
> > >> CodedOutputStream on the stack, rather than using new. This will be
> > >> slightly faster.
>
> > >> That said, the only issue here that affects correctness is the
> > >> WriteVarint32 part. The rest shouldn't matter unless I missed
> > >> something. You should change your code to do that, then if you are
> > >> still having problems you should try dumping the contents of the
> > >> buffer on both the C++ and the Java side. Maybe the input/output is
> > >> getting messed up somewhere?
>
> > >> Good luck,
>
> > >> Evan
>
> > >> --
> > >> Evan Joneshttp://evanjones.ca/
>
> > > --
> > > 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.c 
> > om>
> > .
> > > For more options, visit this group at
> >http://groups.google.com/group/protobuf?hl=en.
>
> > --
> > James Michael DuPont
> > Member of Free Libre Open Source Software Kosova and Albania
> > flossk.org flossal.org
>
> > --
> > 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.c 
> > om>
> > .
> > 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.

Reply via email to