gpt4 book ai didi

c# - 允许我选择字节序的 BlockCopy 替代方案

转载 作者:行者123 更新时间:2023-11-30 12:28:17 24 4
gpt4 key购买 nike

假设我有一个字节数组:

byte[] input = { 0xFF, 0xFc, 0x00, 0x00 }

您可以使用 Buffer.BlockCopy 将字节从一个数组复制到另一个数组,无论类型如何。所以,我可以这样做:

uint[] output = new uint[1];
Buffer.BlockCopy(input , 0, output, 0, input.Length);

这会将字节从输入复制到输出,同时将它们从字节数组转换为单位数组。

问题是 BlockCopy 解释字节顺序很少。我需要一份使用大字节序的副本。因此,我没有像我需要的那样获得 4294705152 (0xFFFC0000) 的 uint 值,而是获得了值 64767 (0x0000FCFF)。请注意,这是一个简单的示例,我无法在实际应用程序中轻易颠倒字节顺序。

BlockCopy 的便利性和速度是否包括设置我需要的字节序的能力?

最佳答案

主题似乎涵盖在这里:

How to get little endian data from big endian in c# using bitConverter.ToInt32 method?

但是转换必须在整个输入数组上迭代。

关于c# - 允许我选择字节序的 BlockCopy 替代方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22472487/

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