Hi, 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. Thanks, Ron -- 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 [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/protobuf. For more options, visit https://groups.google.com/d/optout.
