home

convertで文字コードを試す

SJISで出力するならこんな感じのコードになる。
/**
 * ダウンロード
 * @param {Uint8Array} binary バイナリ
 * @param {String} filename ファイル名
 */
function download(binary, filename) {
  const blob = new Blob([binary], { type: "text/plain" });

  const url = URL.createObjectURL(blob);
  const a = document.createElement("a");
  a.download = filename;
  a.href = url;
  a.click();

  URL.revokeObjectURL(url);
}

const textareaValue = myTextareaElem.value;

// 0~65535のnumber[]
const unicodeArray = Encoding.stringToCode(textareaValue);

// 0~255のnumber[]
// 他の言語でいうところのSJISのbyte[]
const sjisArray = Encoding.convert(unicodeArray, {
  from: "UNICODE",
  to: "SJIS",
});
download(new Uint8Array(sjisArray), "SJIS.txt");