前导八位字节处的c#Pad

前导八位字节处的c#Pad,c#,padding,C#,Padding,我有3个字节长的指数。现在我需要它是4个字节。我找到了一个地方,我可以在前面的八位组中填充。。但我不知道该怎么做。。有人能帮我吗 输入示例:我现在的指数是65537,int字节,然后是01 00 01。不完全确定其含义,但听起来你只是想: byte[] first = /* 3 bytes */ byte[] second = new byte[4]; // since 3 bytes, we'll do this manually; note second[0] is 0 already se

我有3个字节长的指数。现在我需要它是4个字节。我找到了一个地方,我可以在前面的八位组中填充。。但我不知道该怎么做。。有人能帮我吗

输入示例:我现在的指数是65537,int字节,然后是01 00 01。

不完全确定其含义,但听起来你只是想:

byte[] first = /* 3 bytes */
byte[] second = new byte[4];
// since 3 bytes, we'll do this manually; note second[0] is 0 already
second[1] = first[0];
second[2] = first[1];
second[3] = first[2];
当然,如果您实际处理的是
int
,它的左边已经填充了0到4个字节。

不完全确定其含义,但听起来您只是想要:

byte[] first = /* 3 bytes */
byte[] second = new byte[4];
// since 3 bytes, we'll do this manually; note second[0] is 0 already
second[1] = first[0];
second[2] = first[1];
second[3] = first[2];

当然,如果您实际处理的是
int
,它的左边已经填充了0到4个字节。

假设您只想将其填充为零,请创建一个新的四字节数组,并将现有数组复制到其中:

byte[] newArray = new byte[4];
// Copy bytes 0, 1, 2 of oldArray into 1, 2, 3 of newArray.
Array.Copy(oldArray, 0, newArray, 1, 3);
(您也可以通过三个赋值手动完成此操作;对于这种情况,这可能更简单,但不能很好地扩展(就代码而言)到更大的大小。)


如果您发现需要在结尾而不是开始处填充,请将“1”更改为“0”。。。或者使用
数组。在这种情况下调整大小。

假设您只想用零填充它,创建一个新的四字节数组并将现有的一个复制到其中:

byte[] newArray = new byte[4];
// Copy bytes 0, 1, 2 of oldArray into 1, 2, 3 of newArray.
Array.Copy(oldArray, 0, newArray, 1, 3);
(您也可以通过三个赋值手动完成此操作;对于这种情况,这可能更简单,但不能很好地扩展(就代码而言)到更大的大小。)


如果您发现需要在结尾而不是开始处填充,请将“1”更改为“0”。。。或者使用
数组。在这种情况下调整大小。

此处欢迎示例输入和输出此处欢迎示例输入和输出