code: function UniArrayToString(arr) {
      var ix, val, newarr;
      var len = arr.length;
      if (len == 0)
          return '';
      for (ix=0; ix<len; ix++) {
          if (arr[ix] >= 0x10000) 
              break;
      }
      if (ix == len) {
          return String.fromCharCode.apply(this, arr);
      }
      newarr = Array(len);
      for (ix=0; ix<len; ix++) {
          val = arr[ix];
          if (val < 0x10000) {
              newarr[ix] = String.fromCharCode(val);
          }
          else {
              val -= 0x10000;
              newarr[ix] = String.fromCharCode(0xD800 + (val >> 10), 0xDC00 + (val & 0x3FF));
          }
      }
      return newarr.join('');
  }
docs: /* Convert an array of 32-bit Unicode values to a JS string. If they're
  all in the 16-bit range, this is easy; otherwise we have to do
  some munging.