Javascript Unicode编码的问题

Javascript Unicode编码的问题,javascript,unicode,Javascript,Unicode,在处理Javascript之前,我试图对Javascript中的任何“特殊”字符进行编码,但我发现一些特殊的Unicode字符没有按照我的要求进行编码。我该怎么处理 我只想在文本中抛出一个encoding=html.replace(),以便检索可以通过标准UTF-8发送的内容(我想) 我的HTML示例如下: &欧元;A B C D😀�A; 我的Javascript是: 函数getEncoding(html){ 返回html.replace(/[\u00A0-\

在处理Javascript之前,我试图对Javascript中的任何“特殊”字符进行编码,但我发现一些特殊的Unicode字符没有按照我的要求进行编码。我该怎么处理

我只想在文本中抛出一个
encoding=html.replace()
,以便检索可以通过标准UTF-8发送的内容(我想)

我的HTML示例如下:

&欧元;A B C D😀�A;
我的Javascript是:

函数getEncoding(html){ 返回html.replace(/[\u00A0-\u9999\&]/gim,函数(i){ 返回'&#x'+i.charCodeAt(0).toString(16)+';'; }); } var_last=''; 函数跟踪程序(){ var html=document.getElementById('source').innerHTML; 如果(html==_last)返回; _last=html; var encoding=getEncoding(html); var hex=“”; var n=1,c,p,i;
对于(p=0;p
0xd83d,0xde00
是U+FFFF以上Unicode码点的代理项对,在UTF-16中编码时需要代理项对,例如Java(脚本)字符串。但不要在HTML实体中编码代理项对,而是使用完整的代码点,例如U+1F600应编码为
😀;
😀;
,不要将其编码为
�;�;
0xd83d,0xde00
是U+FFFF以上的Unicode代码点的代理项对,在UTF-16中编码时需要代理项对,例如Java(脚本)字符串。但不要在HTML实体中编码代理项对,而是使用完整的代码点,例如U+1F600应编码为
😀;
😀;
,不要将其编码为
�;�;