繁体   English   中英

apache节俭,序列化未签名

[英]apache thrift, serialize unsigned

目前,我需要在C ++和Python应用程序之间传输数据。

只要Thrift不能与unsigned int ,传输unsigned的最佳方法是什么?

是否只有这样的方式:

  1. 将未签名分配给已签名
  2. 序列化->发送->接收->反序列化此签名
  3. 将已签名分配给未签名

我应该一直手动进行还是应该有一些第三方库?

在C ++ / Python应用程序中该怎么办? 在C ++ / C ++应用程序中,我只能进行static_cast<signed/unsigned>(unsigned/signed)转换,但是Python呢?

有两个有意义的选择(以及其他许多选择):

  1. Thrift使用下一个最大的有符号整数。 当然,由于没有i128,因此无法使用UINT64,但是它可以在UINT32上使用
  2. 将无符号位转换为有符号。 不是很干净,需要文档,但可以。

“其他人”包括

  • 将其转换为字符串并返回。 并观察您的性能下降。
  • 使用二进制类型。 好的,这有点遥远,但仍然可行,可以通过重新解释上述2中的位来完成。

但是我还是建议1.或2。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM