On Tue, Nov 24, 2015 at 11:42 AM, Ron <ronnnnnnnnnn...@gmail.com> wrote:
> When using *BinaryToJsonString *or *BinaryToJsonStream*, I seem to
> encounter a problem whenever there's a message containing a string
> containing multibyte characters.
> After some debugging, it seems the place where things start to go wrong is
> in *ReadCodePoint* (in json_escaping.cc) when the first byte of the
> multibyte character is being read from the string (as char) and assigned
> into a variable of type uint32. This casting directly from a signed 1-byte
> value to an unsigned 4-byte value seems to produce values that are
> different than intended and different than expected a little later on by
> some *if-else* statements trying to look at that value to determine the
> correct length of the multibyte character. From there things go wrong and
> the string isn't serialized and just gets dropped...
> For now as a temporary solution I added a cast of the value returned by
> StringPiece's *operator[ ]* to uint8 before the assignment into uint32,
> but any advice or a more permanent solution will be appreciated.
Could you provide a sample input that will fail for this reason?
> You received this message because you are subscribed to the Google Groups
> "Protocol Buffers" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to protobuf+unsubscr...@googlegroups.com.
> To post to this group, send email to firstname.lastname@example.org.
> Visit this group at http://groups.google.com/group/protobuf.
> For more options, visit https://groups.google.com/d/optout.
You received this message because you are subscribed to the Google Groups
"Protocol Buffers" group.
To unsubscribe from this group and stop receiving emails from it, send an email
To post to this group, send email to email@example.com.
Visit this group at http://groups.google.com/group/protobuf.
For more options, visit https://groups.google.com/d/optout.