How to convert one emoji character to Unicode codepoint number in JavaScript?

前端 未结 5 659
囚心锁ツ
囚心锁ツ 2020-12-03 15:25

how to convert this

相关标签:
5条回答
  • 2020-12-03 15:57

    Added script to convert this on browser side

    function emojiUnicode (emoji) {
        var comp;
        if (emoji.length === 1) {
            comp = emoji.charCodeAt(0);
        }
        comp = (
            (emoji.charCodeAt(0) - 0xD800) * 0x400
          + (emoji.charCodeAt(1) - 0xDC00) + 0x10000
        );
        if (comp < 0) {
            comp = emoji.charCodeAt(0);
        }
        return comp.toString("16");
    };
    emojiUnicode("                                                                    
    0 讨论(0)
  • 2020-12-03 16:07

    This is what I use:

    const toUni = function (str) {
      if (str.length < 4)
        return str.codePointAt(0).toString(16);
      return str.codePointAt(0).toString(16) + '-' + str.codePointAt(2).toString(16);
    };
    
    0 讨论(0)
  • 2020-12-03 16:07

    Two way

    let hex = "                                                                    
    0 讨论(0)
  • 2020-12-03 16:19

    Please Read This Link.

    Here is the function :

    function toUTF16(codePoint) {
    var TEN_BITS = parseInt('1111111111', 2);
    function u(codeUnit) {
      return '\\u'+codeUnit.toString(16).toUpperCase();
    }
    
    if (codePoint <= 0xFFFF) {
      return u(codePoint);
    }
    codePoint -= 0x10000;
    
    // Shift right to get to most significant 10 bits
    var leadSurrogate = 0xD800 + (codePoint >> 10);
    
    // Mask to get least significant 10 bits
    var tailSurrogate = 0xDC00 + (codePoint & TEN_BITS);
    
     return u(leadSurrogate) + u(tailSurrogate);
    }
    
    0 讨论(0)
  • 2020-12-03 16:22

    Here is another way. Source

     "                                                                    
    0 讨论(0)
提交回复
热议问题