gpt4 book ai didi

在 C 中将客户端的字符串十六进制消息转换为服务器上的整数

转载 作者:行者123 更新时间:2023-11-30 17:35:40 25 4
gpt4 key购买 nike

客户端向我发送此消息write( sock, "Somethingrfrfrf\x00\x00\x02\x24", string_length );

我如何解析此消息?我需要用 C 语言将最后四个符号\x00\x00\x02\x24 (Big Endian) 转换为服务器上的整数

\x00\x00\x02\x24 必须是 int result = 548;

最佳答案

假设整数始终位于消息的最后四个字节中,并且始终以大端方式排序,您可以使用类似以下内容将其转换回 int (无论平台的字节顺序如何)(您可能需要调整签名/未签名特征,具体取决于发送的内容是签名还是未签名):

unsigned int i = 0;

i = i + ((unsigned char*)msgstr[msglen-1])
+ ((unsigned char*)msgstr[msglen-2]) <<8
+ ((unsigned char*)msgstr[msglen-3]) <<16
+ ((unsigned char*)msgstr[msglen-4]) <<24;

关于在 C 中将客户端的字符串十六进制消息转换为服务器上的整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22966983/

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