Actionscript littleEndian 到 c#
Actionscript littleEndian to c#
我继承了一个用 actionscript 编写的专有文件解析器。我正在将它转换为 C#,但我不知道如何处理以下步骤。
public function transform(input:ByteArray) : ByteArray
{
var output:ByteArray = new ByteArray();
output.endian = "littleEndian";
output.writeBytes(input,0,input.length);
return output;
}
我一直在尝试阅读字节序,我唯一能理解的就是颠倒字节顺序。那是对的吗?如果是这样,我将如何在 C# 中复制它?
代码会将 input
中的数据原封不动地复制到 output
(因为字节没有字节序),之后返回的 ByteArray
中的所有读取操作都将使用小端.
在小端平台上(例如 x86,据我所知目前几乎所有操作系统 ARM)如果您使用 BinaryReader
,.NET 默认情况下将使用小端。
所以基本上 .NET 中的代码将创建字节的 MemoryStream
,然后为该流创建 BinaryReader
。
检查您的 C# 代码所在的平台 运行 是小端还是大端
我继承了一个用 actionscript 编写的专有文件解析器。我正在将它转换为 C#,但我不知道如何处理以下步骤。
public function transform(input:ByteArray) : ByteArray
{
var output:ByteArray = new ByteArray();
output.endian = "littleEndian";
output.writeBytes(input,0,input.length);
return output;
}
我一直在尝试阅读字节序,我唯一能理解的就是颠倒字节顺序。那是对的吗?如果是这样,我将如何在 C# 中复制它?
代码会将 input
中的数据原封不动地复制到 output
(因为字节没有字节序),之后返回的 ByteArray
中的所有读取操作都将使用小端.
在小端平台上(例如 x86,据我所知目前几乎所有操作系统 ARM)如果您使用 BinaryReader
,.NET 默认情况下将使用小端。
所以基本上 .NET 中的代码将创建字节的 MemoryStream
,然后为该流创建 BinaryReader
。