Wouldn't the compiler optimize this to an array lookup?
static const char* countries[257];
Or even: static const char countrycodes[514];
return countrycodes[i * 2];