public static String uint32ArrayToString(
UInt32[ ] source,
UInt32 offset
)
{
StringBuilder sb = new StringBuilder();
// Byte at offset is total byte len, 2nd byte is always 3
for (int index = 2; index < (Int32)(source[(int)offset] & 0x0FF); index += 2)
{
sb.Append
(
(Char)(
(0 == (index % 4)) ?
(source[offset + (index / 4)] & 0x0000FFFF) :
(source[offset + (index / 4)] & 0xFFFF0000) >> 0x10
)
);
}
return sb.ToString();
}