簡體   English   中英

c#領先八位字節

[英]c# Pad at the leading octets

我有3個字節長的指數。 現在我需要它是4個字節。 我找到了一個可以在領先的八位字節填充的地方......但我不知道這樣做..所以有人可以幫助我嗎?

示例輸入:exponent我現在擁有的是65537,int bytes,然后是01 00 01。

假設您只想用零填充它,創建一個新的四字節數組並將現有數組復制到其中:

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”...或者在這種情況下使用Array.Resize

完全確定含義,但聽起來你只是想要:

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個字節。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM