繁体   English   中英

将内存十六进制字符串转换为int

[英]Converting memory hex string to an int

我正在进行串行端口通信,并且在经过编码的bat文件中有一些信息。 我需要提取翻译为十六进制的文件大小,但文件大小被翻转(与内存有关),我需要获取正确的大小。

这是我的bat文件中的十六进制(转换为十进制是1178534144),所以我在转换它时遇到了很多问题...

这是我需要获取的十六进制数字(十进制为81734)

**编辑

这是蝙蝠文件中的64个字节,我将其转换为十六进制,导致ASCII不可读。 专注于标有红色(整个十六进制)和蓝色部分(这是我需要从46 3f 01 00转换为0013f46的十六进制数字)部分

使用以基数为参数的Convert.ToInt32-Methode: (String, Int32)

数值的底数,必须为2、8、10或16。

因此代码应为(基数16的十六进制又称16)

int result = Convert.ToInt32("463F0100", 16); // 1178534144

十进制数1178534144为0x463F0100。 要获取小数81734,您需要旋转4个字节以获取0x00013F46。 在Windows下,您可以包含winsock.h并使用功能ntohl。 https://docs.microsoft.com/zh-CN/windows/desktop/api/winsock/nf-winsock-ntohl

暂无
暂无

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

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