Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript littleEndian到c#_C#_Actionscript 3_Actionscript_Endianness - Fatal编程技术网

Actionscript littleEndian到c#

Actionscript littleEndian到c#,c#,actionscript-3,actionscript,endianness,C#,Actionscript 3,Actionscript,Endianness,我继承了一个用actionscript编写的专有文件解析器。我正在将其转换为c#,我不知道如何处理以下步骤 public function transform(input:ByteArray) : ByteArray { var output:ByteArray = new ByteArray(); output.endian = "littleEndian"; output.writeBytes(input,0,input.length); return output;

我继承了一个用actionscript编写的专有文件解析器。我正在将其转换为c#,我不知道如何处理以下步骤

public function transform(input:ByteArray) : ByteArray
{
   var output:ByteArray = new ByteArray();
   output.endian = "littleEndian";
   output.writeBytes(input,0,input.length);
   return output;
}

我一直在努力阅读endianness,我唯一能理解的是它能做的就是颠倒字节的顺序。对吗?如果是这样,我将如何在c#中复制它?

代码将把
输入中的数据复制到
输出中,而不做任何修改(因为字节没有endian),然后从返回的
字节数组中执行的所有读取操作都将使用小endian

在little-endian平台上(例如x86,据我所知,现在几乎所有的操作系统都支持)。如果您使用
BinaryReader
,NET默认情况下将使用little-endian

所以,基本上.NET中的代码将创建一个字节的
MemoryStream
,然后为该流创建一个
BinaryReader


您可以使用

检查运行C#代码的平台是little endian还是big endian。代码会将
输入
中的数据复制到
输出
中,不做任何修改(因为字节没有endian),然后返回的
ByteArray
中的所有读取操作都将使用little endian

在little-endian平台上(例如x86,据我所知,现在几乎所有的操作系统都支持)。如果您使用
BinaryReader
,NET默认情况下将使用little-endian

所以,基本上.NET中的代码将创建一个字节的
MemoryStream
,然后为该流创建一个
BinaryReader

您可以使用