C# C语言中的整数到字节数组#

C# C语言中的整数到字节数组#,c#,arrays,hex,byte,C#,Arrays,Hex,Byte,如何将int转换为字节数组,并将其他内容附加到字节数组 private byte[] AppendInto(byte[] original, byte[] toInsert, int appendIn) { var bytes = original.ToList(); bytes.InsertRange(appendIn, toInsert); return bytes.ToArray(); } 比如说 我想把它转换成151219` new byte[6] { 0x31

如何将int转换为字节数组,并将其他内容附加到字节数组

private byte[] AppendInto(byte[] original, byte[] toInsert, int appendIn)
{
    var bytes = original.ToList();
    bytes.InsertRange(appendIn, toInsert);
    return bytes.ToArray();
}
比如说

我想把它转换成151219`

new byte[6] { 0x31, 0x35, 0x31, 0x32, 0x31, 0x39 }`
并附于:

new byte[17] { 0x01, 0x52, 0x35, 0x02, 0x50, 0x31, 0x28, --- append here ---, 0x3B, 0x29, 0x03, 0x06 }

以下代码将
int
转换为
字节
数组,表示值的每个字符:

int value = 151219;
string stringValue = value.ToString(CultureInfo.InvariantCulture);
byte[] bytes = stringValue.Select(c => (byte) c).ToArray();
要将其插入到原始数组中,类似这样的操作应该可以做到:

private byte[] InsertInto(byte[] original, byte[] toInsert, int positionToInsert)
{
    byte[] newArray = new byte[original.Length + toInsert.Length];

    Array.Copy(original, newArray, positionToInsert);
    Array.Copy(toInsert, 0, newArray, positionToInsert, toInsert.Length);
    Array.Copy(original, positionToStart, newArray, positionToInsert + toInsert.Length, original.Length - positionToInsert);
    return newArray;
}

以下代码将把一个
int
转换成一个
字节
数组,表示值的每个字符:

int value = 151219;
string stringValue = value.ToString(CultureInfo.InvariantCulture);
byte[] bytes = stringValue.Select(c => (byte) c).ToArray();
要将其插入到原始数组中,类似这样的操作应该可以做到:

private byte[] InsertInto(byte[] original, byte[] toInsert, int positionToInsert)
{
    byte[] newArray = new byte[original.Length + toInsert.Length];

    Array.Copy(original, newArray, positionToInsert);
    Array.Copy(toInsert, 0, newArray, positionToInsert, toInsert.Length);
    Array.Copy(original, positionToStart, newArray, positionToInsert + toInsert.Length, original.Length - positionToInsert);
    return newArray;
}

您没有整数数据类型,而是包含整数的字符串。那完全不同

您可以使用
ascienceoding.GetBytes

byte[] bytes = (new System.Text.ASCIIEncoding()).GetBytes("151219");

您可以像这样连接两个字节数组(给定两个字节数组
a
b
):

利用

System.Array.Copy(sourceArray, sourceIndex, destinationArray, destinationIndex, length)

您没有整数数据类型,而是包含整数的字符串。那完全不同

您可以使用
ascienceoding.GetBytes

byte[] bytes = (new System.Text.ASCIIEncoding()).GetBytes("151219");

您可以像这样连接两个字节数组(给定两个字节数组
a
b
):

利用

System.Array.Copy(sourceArray, sourceIndex, destinationArray, destinationIndex, length)

您可以创建一个AppendInto方法来追加数组,并使用
Encoding.ASCII.GetBytes
将字符串转换为字节数组

private byte[] AppendInto(byte[] original, byte[] toInsert, int appendIn)
{
    var bytes = original.ToList();
    bytes.InsertRange(appendIn, toInsert);
    return bytes.ToArray();
}
那就用这个函数吧

var toInsert = Encoding.ASCII.GetBytes("151219");

var original = new byte[11] { 0x01, 0x52, 0x35, 0x02, 0x50, 0x31, 0x28, 0x3B, 0x29, 0x03, 0x06 };
AppendInto(original, toInsert, 7);
结果

字节[17]{“0x01”、“0x52”、“0x35”、“0x02”、“0x50”、“0x31”、“0x28”、“0x31”、“0x35”、“0x31”、“0x32”、“0x31”、“0x39”、“0x3B”、“0x29”、“0x03”、“0x06”}


您可以创建一个AppendInto方法来追加数组,并使用
Encoding.ASCII.GetBytes
将字符串转换为字节数组

private byte[] AppendInto(byte[] original, byte[] toInsert, int appendIn)
{
    var bytes = original.ToList();
    bytes.InsertRange(appendIn, toInsert);
    return bytes.ToArray();
}
那就用这个函数吧

var toInsert = Encoding.ASCII.GetBytes("151219");

var original = new byte[11] { 0x01, 0x52, 0x35, 0x02, 0x50, 0x31, 0x28, 0x3B, 0x29, 0x03, 0x06 };
AppendInto(original, toInsert, 7);
结果

字节[17]{“0x01”、“0x52”、“0x35”、“0x02”、“0x50”、“0x31”、“0x28”、“0x31”、“0x35”、“0x31”、“0x32”、“0x31”、“0x39”、“0x3B”、“0x29”、“0x03”、“0x06”}


151219如何变成0x31、0x35、0x31、0x32、0x31、0x39?为您更新ᴀʀʜᴀɴAɴᴀᴍ 151219如何变成0x31、0x35、0x31、0x32、0x31、0x39?为您更新ᴀʀʜᴀɴAɴᴀᴍ 那么,如何将其添加到另一个?新字节[17]{0x01,0x52,0x35,0x02,0x50,0x31,0x28,---在这里追加---,0x3B,0x29,0x03,0x06}那么,我如何将它添加到另一个字节中呢?新字节[17]{0x01,0x52,0x35,0x02,0x50,0x31,0x28,---在这里追加---,0x3B,0x29,0x03,0x06}好主意。我会试试的。好主意。我试试看。