Why it doesn't work?

作業のメモ、記録をブログに残しています。

JavaScript バイナリデータの配列をUTF-8文字列へ変換する

JavaScript バイナリファイルを読み込む - Why it doesn't work?
JavaScript バイナリデータを扱う。4バイトの数値の配列をunsigned long(uint32)型の数値へ変換する - Why it doesn't work?

TextDecoderを使用してみました。

var bytes = [227, 129, 130, 227, 129, 132, 227, 129, 134, 227, 129, 136, 227, 129, 138];
var text_decoder = new TextDecoder("utf-8");
var str = text_decoder.decode(Uint8Array.from(bytes).buffer);
console.log(str);

結果は以下の通りです。正常に変換出来ました。

あいうえお

ただし、一部のブラウザではサポートしていないようなので、以下のブラウザ実装状況を確認のうえ、使用しましょう。
TextDecoder - Web API インターフェイス | MDN


バイナリデータをアスキーコードとして扱うのであれば、StringfromCharCodeメソッドを使用します。

var chars = [48, 49, 50, 51, 52, 53, 54, 55, 56, 57];
for (var i=0; i<chars.length ; i++){
  var value = String.fromCharCode(chars[i]);
  console.log(value);
}

結果は以下の通りです。

0
1
2
3
4
5
6
7
8
9