阿帕奇节俭,序列化无签名

apache thrift, serialize unsigned

本文关键字:序列化 阿帕奇      更新时间:2023-10-16

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

只要节俭不与unsigned int合作,转移unsigned的最佳方式是什么?

只有这样的方法吗:

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

我应该一直手动执行此操作还是已经有一些第三方库?

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

有两个选项是有意义的(以及其他一些选项):

  1. 将下一个最大的有符号整数与节俭一起使用。当然,使用 UINT64 这是不可能的,因为没有 i128,但它可以工作到 UINT32
  2. 将未签名的位转换为有符号的位。不是很干净,需要文档,但它可以工作。

"其他人"包括

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

但同样,我建议使用1.或2。