### Website or app

https://codesandbox.io/s/react-playground-forked-j4niq

### Repro steps

Emoji seem supported but produce strange symbole

![image](https://user-images.githubusercontent.com/24865815/133793744-55a55582-90ad-425f-8a40-4c061a3c1d80.png)

To test emoji on Window Os, use `[win]+[.]` 🟩


### How often does this bug happen?

Every time

### DevTools package (automated)

_No response_

### DevTools version (automated)

_No response_

### Error message (automated)

_No response_

### Error call stack (automated)

_No response_

### Error component stack (automated)

_No response_

### GitHub query string (automated)

_No response_
return;
      }
    }
    const numUnmountIDs =
      pendingRealUnmountedIDs.length +
      pendingSimulatedUnmountedIDs.length +
      (pendingUnmountedRootID === null ? 0 : 1);
    const operations = new Array(
       I
      2 +  [rendererID, rootFiberID]
       How big is the string table?
      1 +  [stringTableLength]
         Then goes the actual string table.
        pendingStringTableLength +
         All unmounts are batched in a single message.
         [TREE_OPERATION_REMOVE, removedIDLength, ...ids]
        (numUnmountIDs > 0 ? 2 + numUnmountIDs : 0) +
         R
        pendingOperations.length,
    );
     I
     T
     W
    let i = 0;
    operations[i++] = rendererID;
    operations[i++] = currentRootID;
     N
     [
    operations[i++] = pendingStringTableLength;
    pendingStringTable.forEach((value, key) => {