this.char2buf = function(str) {
      var out = new ArrayBuffer(str.length*2);
      var u16a= new Uint16Array(out);
      var strs = str.split("");
      for(var i =0 ; i<strs.length;i++){
          u16a[i]=strs[i].charCodeAt();
      }
      return out;
  }

示例:

也即输出为 ArrayBuffer 类型。

MDN 中 ArrayBuffer 定义:ArrayBuffer对象用来表示通用的,固定长度的原始二进制数据缓冲区。ArrayBuffer不能直接操作,而是要通过类数组对象或DataView对象来操作。它们会将缓冲区中的数据表示为特定的格式,并通过这些格式来读写缓冲区的内容。