gpt4 book ai didi

c++ - 解构固定长度二进制/alpha 消息的最快方法是什么?

转载 作者:行者123 更新时间:2023-11-30 04:39:57 24 4
gpt4 key购买 nike

在 c++ 中解析固定长度消息的最快或最佳方法有什么建议,该消息的字段定义如下

field = 'type', length = 2, type = 'alphanumeric'

field = 'length', length = 2, type = 'binary' (edit:length = 2 means 16 bit)
...
...

and so on

我读到有关制作结构然后使用 reinterpret_cast 但我不确定如何使用它或是否有更好的方法。

通过解析,我的意思是提取人类可读的格式,如“Type = X”、“Length = 15”等

最佳答案

你是这个意思吗?

char* binaryMessage; //From somewhere
struct Fields {
short type; // 2 bytes
short length; // 2 bytes
};
Fields* fields = reinterpret_cast<Fields*>(binaryMessage);
std::cout << "Type = " << fields->type;
std::cout << "Length = " << fields->length;

一个更安全的选择是 boost::basic_bufferstream :

basic_bufferstream<char> stream(binaryMessage, lengthOfMessage, std::ios_base::in);
Fields fields;
stream >> fields.type;
stream >> fields.length;

关于c++ - 解构固定长度二进制/alpha 消息的最快方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1867262/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com