[ 
https://issues.apache.org/jira/browse/THRIFT-3359?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14933195#comment-14933195
 ] 

Nobuaki Sukegawa commented on THRIFT-3359:
------------------------------------------

We can either say C++ is incompatible or the other party is.
C++, Java and C# cannot decode binary fields correctly in TJSONProtocol if the 
data length is not multiple of 3 and the other participant encodes them with 
Base64 padding. (See THRIFT-3276)

Since the Base64 [spec|https://tools.ietf.org/html/rfc4648#section-3.2] 
mandates padding (unless we explicitly opt out), I think we want to make C++ 
and others receive padded strings too, besides current unpadded ones.

> Binary field incompatibilities
> ------------------------------
>
>                 Key: THRIFT-3359
>                 URL: https://issues.apache.org/jira/browse/THRIFT-3359
>             Project: Thrift
>          Issue Type: Bug
>          Components: C# - Library, C++ - Library, Java - Library, JavaScript 
> - Library, Node.js - Library, Python - Library
>    Affects Versions: 0.9.3
>            Reporter: Nobuaki Sukegawa
>            Assignee: Nobuaki Sukegawa
>             Fix For: 0.9.4
>
>
> Binary fields in TJSONProtocols of many languages are incompatible to each 
> other.
> Also, those in all protocols of NodeJS cannot reliably talk to other 
> languages.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to