[
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)