Blame view

node_modules/entities/lib/decode_codepoint.js 622 Bytes
ce4c83ff   wxy   初始提交
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
  var decodeMap = require("../maps/decode.json");
  
  module.exports = decodeCodePoint;
  
  // modified version of https://github.com/mathiasbynens/he/blob/master/src/he.js#L94-L119
  function decodeCodePoint(codePoint){
  
  	if((codePoint >= 0xD800 && codePoint <= 0xDFFF) || codePoint > 0x10FFFF){
  		return "\uFFFD";
  	}
  
  	if(codePoint in decodeMap){
  		codePoint = decodeMap[codePoint];
  	}
  
  	var output = "";
  
  	if(codePoint > 0xFFFF){
  		codePoint -= 0x10000;
  		output += String.fromCharCode(codePoint >>> 10 & 0x3FF | 0xD800);
  		codePoint = 0xDC00 | codePoint & 0x3FF;
  	}
  
  	output += String.fromCharCode(codePoint);
  	return output;
  }