- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
public static byte[] Trim(this byte[] origin_array)
{
int findex = -1, eindex = -1;
bool inseq = false;
if (origin_array[0] != 0x00)
{
if (origin_array[origin_array.Length - 1] != 0x00)
return origin_array;
findex = 0;
}
for (int i = 0; i < origin_array.Length; i++)
{
if (origin_array[i] == 0x00)
{
if (inseq)
continue;
else
inseq = true;
}
else
{
if (inseq)
if (findex == -1)
findex = i;
eindex = i;
}
}
if (findex == eindex)
return new byte[0];
byte[] result_array = new byte[eindex - findex + 1];
Array.Copy(origin_array, findex, result_array, 0, result_array.Length);
return result_array;
}