某种编码?

标签 encoding hex

如果以前有人问过这个问题,请原谅我,但我向你保证,我已经在互联网上搜索过,但什么也没找到,可能是因为我没有正确的术语。

我想获取一个整数并将其转换为小端(?)十六进制表示形式,如下所示:

303 -> 0x2f010000

我可以看到字节被打包,使得 16 和 1 的位置都在同一个字节中,并且 4096 的位置和 256 的位置共享一个字节。如果有人可以向我指出此类编码的正确术语,我相信我可以找到如何做到这一点的答案。谢谢!

最佳答案

使用位移运算符与按位 AND 和 OR 运算符相结合...

假设 32 位无符号:

int value = 303;
int result = 0x00000000;

for (int i = 0; i < 4; i++)
{
    result = result | ((value & (0xFF << (i * 8))) << (24 - (i * 8)));
}

关于某种编码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/889627/

相关文章:

c# - 如何将 Javascript Unicode 解码为 C# 字符串

php - 在 cakephp 中显示带有法语口音的数据

sql-server - SQL Server 2008将地理点保存为十六进制

python - pandas 系列从十六进制转换为 ascii 时出现错误

ios - Corebluetooth 写入特征的十六进制值

c# - 对Cookie进行加密编码

objective-c - addingPercentEncoding 在 Swift 中的工作方式不同

encoding - 将范围内的两个 float 打包成一个 float

linux - 需要一个好的 Linux 十六进制编辑器

java - 如何使用 native 库(即 hashlib)在 Python 中迭代 sha256,使用字节 [] 作为输入而不是十六进制字符串