1 | var emojiToUnicode = function (emoji) {
|
2 | var backStr = "";
|
3 | if(emoji&&emoji.length>0){
|
4 | for(var char of emoji){
|
5 | var index = char.codePointAt(0);
|
6 | if(index>65535){
|
7 | var h = '\\u'+(Math.floor((index - 0x10000) / 0x400) + 0xD800).toString(16);
|
8 | var c = '\\u'+((index - 0x10000) % 0x400 + 0xDC00).toString(16);
|
9 | backStr = backStr + h + c;
|
10 | }else{
|
11 | backStr = backStr + char;
|
12 | }
|
13 | }
|
14 | console.log(backStr);
|
15 | }
|
16 | return backStr
|
17 | };
|
18 |
|
19 | var toSurrogatePairs = function (index) {
|
20 | var h = '\\u'+(Math.floor((index - 0x10000) / 0x400) + 0xD800).toString(16);
|
21 | var c = '\\u'+((index - 0x10000) % 0x400 + 0xDC00).toString(16);
|
22 | console.log(h+c);
|
23 | return h+c
|
24 | };
|
25 |
|
26 |
|
27 | var fromcodepoint = function () {
|
28 | var stringFromCharCode = String.fromCharCode;
|
29 | var floor = Math.floor;
|
30 | var fromCodePoint = function(_) {
|
31 | var MAX_SIZE = 0x4000;
|
32 | var codeUnits = [];
|
33 | var highSurrogate;
|
34 | var lowSurrogate;
|
35 | var index = -1;
|
36 | var length = arguments.length;
|
37 | if (!length) {
|
38 | return '';
|
39 | }
|
40 | var result = '';
|
41 | while (++index < length) {
|
42 | var codePoint = Number(arguments[index]);
|
43 | if (
|
44 | !isFinite(codePoint) ||
|
45 | codePoint < 0 ||
|
46 | codePoint > 0x10FFFF ||
|
47 | floor(codePoint) != codePoint
|
48 | ) {
|
49 | throw RangeError('Invalid code point: ' + codePoint);
|
50 | }
|
51 | if (codePoint <= 0xFFFF) {
|
52 | codeUnits.push(codePoint);
|
53 | } else {
|
54 |
|
55 | codePoint -= 0x10000;
|
56 | highSurrogate = (codePoint >> 10) + 0xD800;
|
57 | lowSurrogate = (codePoint % 0x400) + 0xDC00;
|
58 | codeUnits.push(highSurrogate, lowSurrogate);
|
59 | }
|
60 | if (index + 1 == length || codeUnits.length > MAX_SIZE) {
|
61 | result += stringFromCharCode.apply(null, codeUnits);
|
62 | codeUnits.length = 0;
|
63 | }
|
64 | }
|
65 | return result;
|
66 | };
|
67 | String.prototype.fromCodePoint = fromCodePoint;
|
68 | };
|
69 |
|
70 | var umoji = {
|
71 | emojiToUnicode:emojiToUnicode,
|
72 | toSurrogatePairs:toSurrogatePairs,
|
73 | fromcodepoint:fromcodepoint
|
74 | };
|
75 | var umoji_1 = umoji;
|
76 |
|
77 | export default umoji_1;
|