-
-
Neuer Benutzer
Öfters hier
8 zu 7 Bit. Auszug aus Sourcen
Hi,
ich hoffe das hilft Dir weiter.
Gruß
Jürgen
size_t UChar2Hex7String(
const unsigned char *source,
size_t sourceLen,
char *dest
)
{
dest[0] = '\0';
char *p = dest;
for (size_t i = 0; i < sourceLen; i += 8 )
{
unsigned char tmpbuffer[10];
memset(tmpbuffer, 0, sizeof tmpbuffer);
unsigned char mask = 0;
for (size_t j = 0; j < 8 && i + j < sourceLen; j++)
{
unsigned char ch = source[i + j];
ch >>= j;
tmpbuffer[j] = ch;
if (j > 0)
{
ch = source[i + j];
ch &= mask;
ch <<= 8 - j;
tmpbuffer[j - 1] |= ch;
}
mask = (mask << 1) | 1;
}
for (j = 0; j < 7 && i + j < sourceLen; j++)
{
sprintf(p,"%02x", tmpbuffer[j]);
p += 2;
}
}
return p - dest;
}
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen