您好,我需要扭轉這種代碼我會如何反轉? C#
public static byte[] CreateProtocolBuffer(params int[] values)
{
List<byte> ptr = new List<byte>();
for (int x = 0; x < values.Length; x++)
{
int value = values[x];
while (value > 0x7F)
{
ptr.Add((byte)((value & 0x7F) | 0x80));
value >>= 7;
}
ptr.Add((byte)(value & 0x7F));
}
return ptr.ToArray();
}
例如:
int ID = 1000005;
byte[] ptr = CreateProtocolBuffer(ID);
我需要使用ptr
值來獲得1000005回來。
歡迎來到Stack Overflow!請添加更多詳細信息,以澄清您提出的問題並提供必要的上下文。現在很難理解這裏的目標是什麼。 – brandaemon
*總是*加回來,即使它不在那裏。這是不可逆的。 – Blindy
@Bindind Huh?這是一個簡單的可變長度編碼,每個輸出字節使用7位數據。爲什麼它不可逆? – Corey