
[英]Program is Big-Endian even though system is Little-Endian
不知何故,我的程序将变量视为大端,即使我的系统是小端。 当我执行“lscpu | grep Endian”时,它返回 但是当我使用以下代码运行调试 gcc (x86_64 linux) 可执行文件时: 它返回 0x499FDC6D,而对于小端它应该返回 0x6DDC9F49 ...
[英]Program is Big-Endian even though system is Little-Endian
不知何故,我的程序将变量视为大端,即使我的系统是小端。 当我执行“lscpu | grep Endian”时,它返回 但是当我使用以下代码运行调试 gcc (x86_64 linux) 可执行文件时: 它返回 0x499FDC6D,而对于小端它应该返回 0x6DDC9F49 ...
[英]g++ question about endianism that *should* work?
我认为这应该行得通,但我显然错了,但我不知道为什么:-) 假设我有以下来自 the.network 0x03 0x02 的字节。 在我的脑海中,我希望它被转换为小端和下面的联合 我希望我可以使用 be16toh(a.opcode) 并获得 0x030,而 numRegisters 是 0x02。 ...
[英]Understanding network byte order (TCP)
例如 TCP 使用的网络字节顺序是大端。 这不会影响用户通过网络发送的实际负载,对吗? 这是关于例如 16 位端口号和 32 位 IPv4 地址,TCP 自行交换,因此需要参与者就字节顺序达成一致。 换句话说:假设 2 名参与者使用相同的字节序机器和简单的设置 TCP sockets,就不需要转换 ...
[英]Modbus home assistant and python struct (little endian, big endian, negative values from uint16)
我有一个关于 modbus 设置的问题。 我仔细阅读了文档,尝试搜索一些主题,但不幸的是我没有找到问题的答案。 我有一个热泵,可以通过 modbus 进行通信。 过去没有HA我在ESP8266上有自己的应用程序,读取数据,上传它们等等。现在我想把它移到HA。 我发现 modbus 协议是在 HA ...
[英]Packing an IEEE-754 16-bit float to a 16-bit unsigned integer while preserving order
我有一个 IEEE-754 16 位浮点数,我想将其无损打包为 16 位无符号 integer。最简单的方法当然是打包它的字节然后解包,但问题是我需要之后比较我程序中的 16 位整数(即大于、小于等)。 所以我正在寻找 f16 和 u16 之间保持顺序的同构。 任何人都可以建议执行此操作的算法吗? ...
[英]Binary values, bit-shifts and endianness
我正在观看有关序列化的视频教程。 在视频中,作者创建了一个std::vector<int8_t> ,他正在向其中逐字节写入整数类型变量的值。 因此,如果我们采用int32_t变量,它将采用该向量的 4 个元素。 他这样做的方法是将这个变量的二进制值移动相应的位数。 我明白为什么要这样做。 ...
[英]How can I reorder this binary file
我有这两个二进制文件,它们是同一台机器上 java 代码和 C++ 代码的输出。 问题是字节顺序似乎不同(也许是小端与大端?)。 所以问题是:为什么这在同一台机器上不同? 以及如何以相同的字节顺序转换/查看文件以比较它们? 左侧的文件是使用以下方式实现的: 在 Java(右)中: 谢谢 ...
[英]Convert a binary string to big endian integer in the browser?
我有以下二进制字符串: 我想将其转换为大端 integer。 我能够使用以下方法做到这一点: 但我很确定有一种更简单的方法可以做到这一点,而不是转换为 Uint8Array 然后将其传递给数据视图。 (注意:这仅适用于浏览器,不适用于 Node.js。我看到了所有关于Buffer.readUIn ...
[英]Python socket - struct.error: unpack requires a buffer of 4 bytes
我写了一个基本的套接字程序,客户端将图像发送到服务器。 client.py , 和server.py 在服务器端,我收到此错误: 我想我错过了一些决定性的东西,但我想不通。 ...
[英]C - Type punning, Strict aliasing, and Endianness
我最近在 C 中阅读了有关类型双关和严格别名的内容。我相信以下类型双关尝试违反了严格的别名规则: 为了正确输入双关语, 维基百科说“严格的别名规则只能通过显式 memcpy 或使用 char 指针作为“中间人”(因为它们可以自由别名)来打破。” 所以,我的第一个问题是:以下代码是否违反了严格的别名规 ...
[英]Convert Integer to Hex-> LittleEndian format in Java
我正在尝试为我的代码获取十六进制(Java 中)的 Little Endian 格式值,但在第一个数字中获取 fffff 而没有获取类似于此站点返回的值: https://www.rapidtables.com/convert/数字/十进制到十六进制.html 这是代码: 不确定需要做什么才能以类似 ...
[英]Converting hex to little endian in python
我有一个这样表示的十六进制数十六进制数: 我怎么能转换成小字节序以便它可以像这样显示? ...
[英]How to filter only specified type in class dynamically in C#?
我的英语水平很差,因为我的母语不是英语。 请理解。 我会详细告诉你我想要什么。 我在下面创建了一个 class 大家知道,我在反序列化或者序列化的时候,注意转换成指定的字节序。 所以我添加了以下代码。 在这里,我想如果它添加了具有更多 2byte 的字段,我必须修改 ToHostOrder 和 T ...
[英]Endianness for all c data types on Windows OS
我正在尝试记录不同的数据类型以及它们如何存储在 C 中的 memory 中。我知道每种数据类型占用多少字节,但我想知道每种数据类型的字节顺序。 这是专门针对 Windows 的。 ...
[英]Mariadb get string in binary format BE
如果我运行查询: 我得到: 我认为该序列是 BE,因为在 UTF-16 BE 的 txt 文件中是相同的序列。 如何在 UTF-16 LE 中获取序列? 你问我为什么要LE? 因为 MS SQL 服务器上的查询: 返回: 感谢雅罗斯拉夫 ...
[英]Why are the hex numbers for big endian different than little endian?
(根据 CS:APP 书的解决方案) 大端:12 34 56 小端:78 56 34 我知道系统对存储分配有不同的约定,但是如果两个系统使用相同的约定但字节序不同,为什么十六进制值不同? ...
[英]Does calling the htons() change the value over and over again and again?
我想知道我的电脑使用什么字节排序方法。 所以我尝试看看是否有任何u_long变量在转换为htons() function后保持不变。 测试过程中,我再次调用了htons function,再次发现htons应用的function又改了值。 Output #12345678 -> #785 ...
[英]How to swap the byte order for individual words in a vector in ARM/ACLE
我通常编写可移植的 C 代码,并尝试遵守编译器支持的严格符合标准的特性子集。 但是,我正在编写利用 ARM v8 加密扩展来实现 SHA-1(以及几天后的 SHA-256)的代码。 我面临的一个问题是,FIPS-180 使用 big-endian 字节顺序指定 hash 算法,而大多数基于 ARM ...
[英]Problems reading number given endianness (C to Javascript)
我正在编写一个解析器(编写 NodeJS 代码),其中 C 规范为字节顺序定义了 LittleEndian 系统,其中最高有效位在右端。 在描述中的某个地方,他们这样说: 最高有效位(MSB)在左边,信息以32位无符号integer编码如下12位(年)| 4 位(月)... 所以我认为以这种方式 ...
[英]Sending an array of ints with boost::asio
我想发送带有 boost.asio 的原始int与任何 CPU 架构兼容。 通常,我会将int s 转换为字符串,但我可以通过跳过int /ascii 转换来获得更好的性能。 我不知道 boost.asio 已经在幕后做了什么,例如使用htonl 。 文档没有说,也没有办法在我自己的电脑上测试这段代 ...