sprintf() mystery....

test code (did the same)
I've added one more %.2X so all 8 (or 9 :stuck_out_tongue: ) bytes are shown.

unsigned char rxBuf[8]={0xAA, 0xBB, 0xCC, 0xDD, 0xEE, 0xFF, 0x11, 0x22};
long unsigned int rxId = 0x103;
char ReceString[32];

void setup() {
  // put your setup code here, to run once:
Serial.begin(115200);
}

void loop() {
        sprintf(ReceString, "%.3X %.2X%.2X%.2X%.2X%.2X%.2X%.2X%.2X%.2XX", rxId,rxBuf[0],rxBuf[1],rxBuf[2],rxBuf[3],rxBuf[4],rxBuf[5],rxBuf[6],rxBuf[7]);
        ReceString[3]=7+'0';
        Serial.println(ReceString);
        Serial.println(rxBuf[0]);
        delay(1000);
  
}