private int ToBase16(byte[] chars, int offset, uint value) { int count = 0; do { count++; chars[--offset] = s_digits[(int)(value & 0x0F)]; value /= 16; } while (value != 0); return count; }