Unicode characters can be identified by [different numbers](https://www.iemoji.com/view/emoji/32/smileys-people/face-with-medical-mask?).

For example, the "Face with Medical Mask" emoji can be identified by the descriptor `U+1F637` *or* `U+E40C`. 

I presume these descriptors identify the index of the character in the complete table of Unicode characters: but why are there two of them?

In UTF-16 this Unicode code point can be represented as four bytes, forming two 16-bit code units (I think):

```
D83D followed by DE37

```

```js
console.log('\uD83D\uDE37') // prints 
```

How can I get from the Unicode descriptor to the binary representation of the character and then to the UTF-16 representation?