Finding the index of a symbol in unsigned char and extracting contents?

To expand on answer #1, if you use strtok() to get the bit before the colon then you know how long that string is. Increment the pointer to payload by the length of the first string plus the null terminator to point to the bit after the colon.

char buf1[10]; // payload before colon
char buf2[10]; // payload after colon


void setup()
{
  Serial.begin(9600);
  someFunction((byte *)"A0:433.33");

  Serial.println(buf1);
  Serial.println(buf2);

}

void loop()
{

}

// payload is A0:433.33

void someFunction(byte* payload) {

  // copy up to colon
  strcpy(buf1, strtok(payload, ":"));

  // move past colon and copy rest of payload
  strcpy(buf2, payload + strlen(buf1) + 1);


  // want to eventually end up with a variable containing 'A0'
  // and another containing '433.33'

}