function fromUTF16String(str) {
  if (!str) return NaN;
  const high = str.charCodeAt(0);
  if (Math.floor(high/0x400) !== 0x36) return high;
  const low = str.charCodeAt(1);
  return (high - 0xD800) * 0x400 + (low - 0xDC00) + 0x10000;
}
Convert UTF16 string to Unicode
@param { string } str  
@returns { number }