Sketch too big (sprintf ints)

Does anyone have any suggestions on how to reduce the impact on my sketch size the below is having (1612 bytes).

sprintf((char*)packetBuffer, "HC:%i,%i,%i,%i,%i,%i,%i,%i,...", d1, d2, d3, d4, d5, d6, d7, d8);

I'm including UIPEthernet.h, SPI.h, RF24.h, AESLib.h (just mentioning it on a slim chance )
The above is used to prepare my data for remote logging using UDP. "HC:" being a header and "..." being a suffix.

I could settle for "123,,321" or some other such thing. So in theory its a concatenation of ints and commas (or their char representation)? I've had a high byte low byte splitting code to a char array before but it wasn't reliable.

Any help appreciated.

In the meantime I went back to bit shifting etc.

itoa?

strcpy_P( pkt, (const char *) F("HC:") );

itoa( d1, &pkt[3], 10 );

int len = strlen(pkt);
pkt[len] = ',';
itoa( d2, &pkt[len+1], 10 );

len = strlen(pkt);
pkt[len] = ',';
itoa( d3, &pkt[len+1], 10 );
   ...

The F macro saves RAM, but requires the xxxxxx_P variants (see pgmspace.h). There could be other places you could use the F macro (prints?).

Cheers,
/dev