UTF-8 String

the received string "06720631062F0648064A06460648" is formed by the unicode code points (2 bytes) in hex representation of the word ٲردوينو, to display on the serial monitor, it is necessary to transform to utf-8. To do that, i was obliged to cast the string to numbers. But now, i dont know how to cast it back to String

void setup() {
    Serial.begin(9600);            
    char UCS2[] = "06720631062F0648064A06460648";    
    uint8_t n = strlen(UCS2);    
    char S[5];  // 4 digits + \0    
    for(uint8_t i = 0; i < n ; i+=4){
        strncpy(S, &UCS2[i], 4);
        uint16_t CP = strtoul(S,NULL,16);
        unicode2utf8(CP);  //inversé [L H]
        Serial.write((byte*)&CP,2);  // little Endian      
    } 
}

void loop() {
}

void unicode2utf8(uint16_t& U){
    // pour points de codes 0 --> u+07FF
    if(U > 127){
        uint8_t UL = (U & 0x003F)| 0B10000000;
        uint8_t UH = (U >> 6)    | 0B11000000;
        U = (UL << 8) | UH ;  //inversé
    }
}