阿帕奇节俭,序列化无签名
apache thrift, serialize unsigned
目前我需要在C++和Python应用程序之间传输数据。
只要节俭不与unsigned int
合作,转移unsigned
的最佳方式是什么?
只有这样的方法吗:
- 将未签名分配给已签名
- 序列化 -> 发送 -> 接收 -> 反序列化此签名
- 将已签名分配给未签名
我应该一直手动执行此操作还是已经有一些第三方库?
在C++/Python应用程序的情况下,我该怎么做?在C++/C++应用程序中,我只能static_cast<signed/unsigned>(unsigned/signed)
进行转换,但是Python呢?
有两个选项是有意义的(以及其他一些选项):
- 将下一个最大的有符号整数与节俭一起使用。当然,使用 UINT64 这是不可能的,因为没有 i128,但它可以工作到 UINT32
- 将未签名的位转换为有符号的位。不是很干净,需要文档,但它可以工作。
"其他人"包括
- 将其转换为字符串并返回。并观察你的表现下降。
- 使用二进制类型。好的,这有点遥远,但仍然有可能,可以通过像 2 一样重新解释位来完成。以上
但同样,我建议使用1.或2。
相关文章:
- 如何在C++中序列化结构数据
- 序列化,没有库的整数,得到奇怪的结果
- 如何知道QDataStream不能反序列化某些内容
- 如何使用Python从C++中读取谷物序列化数据
- 如何使用boost::具有嵌套结构和最小代码更改的序列化
- 带有Protobuf序列化的C++Hazelcast:字符串不是UTF-8格式的
- 自定义对象的dlib序列化在gcc中失败
- C++boost序列化多态性问题
- 增强基于 XML class_id的反序列化
- 提升反序列化对象具有 nan 或 -nan 值
- 在 cpp 中的平面缓冲区中序列化对象
- 每次进行继承时都需要提升::序列化::base_object吗?
- 如何在 c++ 非托管代码中反序列化 byte[] 的 json 字符串?
- 提升序列化 1:73 的向后兼容性问题
- 将 boost 序列化对象的 asio::streambuf 表示转换为 Beast 的 DynamicBody req.body()
- 为什么 nlohmann/json 序列化 "null" 而不是在 double 上"0"?
- 如何反序列化数组?
- 阿帕奇箭头可以支持无限级别的嵌套结构吗?
- 阿帕奇节俭做不到
- 阿帕奇节俭,序列化无签名