Javascript 从UTF-32字符清除JS中的字符串

Javascript 从UTF-32字符清除JS中的字符串,javascript,utf-32,Javascript,Utf 32,我需要从JS中的字符串中清除UTF-32编码的字符,比如我使用的清除消息“ function fixedCharCodeAt(str, idx) { var code = str.charCodeAt(idx); if (0xD800 <= code && code <= 0xDBFF) { // Upper auxiliary char var hi = code; var low = str.charCodeAt(idx+1);

我需要从JS中的字符串中清除UTF-32编码的字符,比如我使用的清除消息“

function fixedCharCodeAt(str, idx) {
  var code = str.charCodeAt(idx);
  if (0xD800 <= code && code <= 0xDBFF) { 
    // Upper auxiliary char
    var hi = code;
    var low = str.charCodeAt(idx+1);
    return ((hi - 0xD800) * 0x400) + (low - 0xDC00) + 0x10000;
 }
 if (0xDC00 <= code && code <= 0xDFFF) { 
   // Lower auxiliary symbol
    var hi = str.charCodeAt(idx-1);
    var low = code;
    return ((hi - 0xD800) * 0x400) + (low - 0xDC00) + 0x10000;
  }
  return code;
}
函数fixedCharCodeAt(str,idx){
var代码=str.charCodeAt(idx);

Java/JS中的if(0xD800)字符串是用UTF-16编码的,而不是用UTF-32编码的characters@RemyLebeau这就解释了`
function cleaningMsgFromBreakingSymb(message_old) {
  var new_message = "";
  for (var i = 0, len = message_old.length; i < len; i++) {
    if (fixedCharCodeAt(message_old, i) < 65535){
        new_message += message_old[i];
    };
  };
  return new_message;
}