我想用Thrift發送1024字節的數據。它必須是1024字節,因爲它是與其他框架的比較基準。Apache Thrift:字節和二進制類型之間的區別
Thrift有兩種類型來表示字節:「字節」和「二進制」,但我不知道如何使用這些類型。 'binary'類型被映射到std :: string,這很奇怪(我不明白爲什麼以及如何使用它)。 '字節'類型被映射到一個8位整數,這對我來說似乎更合乎邏輯。
爲了表示1024個字節的數據,我用:list<byte> byteSequence
尺寸爲1024
但編譯警告,建議我使用binary
代替list<byte>
,但是爲什麼呢?如何 ?
我想我會得到更好的性能與'二進制',因爲它是奇怪的緩慢與1024字節序列。
謝謝。
我使用C++編譯。如果我理解得很好,那麼在C++中使用list [byte]或binary之間不會有性能差異?我想嘗試自己,但我不明白如何在C++中使用二進制類型,因爲它映射到std :: string。我如何用std :: string表示1024個字節的數據? –
我不是C++專家,但從谷歌搜索似乎std ::字符串是持有和操縱二進制數據罰款。例如:http://stackoverflow.com/a/837528/1997056 – Shastick
好吧,所以我嘗試:字符串序列; for(int j = 0; j <1024; j ++)sequence + =(char)0;我的表現更好。我希望這種方法很好。感謝您的幫助。 –