如何解码 Google 表格中的特定字符 (unicode)

How to decode specific characters (unicode) in Google Sheets

我有一个包含 défi (défi) 或 Österreich (Östereeich) 文本的表格。

我可以用这个脚本解码第一个,另一方面我不能做第二个(我的意思是代码需要 3 个字节)

感谢您的帮助!

function decode(txt){
  var texte = []
  for (i=0;i<txt.length;i++){
    var n = txt.substring(i,i+1).charCodeAt()
    if (n>127){
      if ((n & 32) > 0){
        //texte.push(decode_utf8(txt.substring(i,i+3))) ??
        i+=2
      }
      else{
        texte.push(decode_utf8(txt.substring(i,i+2)))
        i++
      }
    }
    else{
      texte.push(txt.substring(i,i+1))
    }
  }
  return (texte.join(''))
}
function decode_utf8(s) {
  return decodeURIComponent(escape(s));
}

这是一个解决方案...基于github

function utf8decode(utftext) {
  var string = "";
  var i = 0;
  var c = c1 = c2 = 0;
  while ( i < utftext.length ) {
    c = utftext.charCodeAt(i);
    if (c < 128) {
      string += String.fromCharCode(c);
      i++;
    }
    else if((c > 191) && (c < 224)) {
      c2 = utftext.charCodeAt(i+1);
      string += String.fromCharCode(((c & 31) << 6) | (c2 & 63));
      i += 2;
    }
    else {
      c2 = utftext.charCodeAt(i+1);
      c3 = utftext.charCodeAt(i+2);
      string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));
      i += 3;
    }
  }
  return string;
}