ホーム > カテゴリ > HTML5・JavaScript >

ファイルから読み取ったUnicodeのバイナリ配列を文字列へ変換する[JavaScript]

ファイルから読み取ったUnicodeのバイナリ配列を文字列へ変換する方法です。バイナリはJavascriptのUint8Array型で8ビット符号なし整数値の配列となります。

バイナリを文字列へ変換

Unicode(ユニコード)のバイナリは基本的にJavascriptでファイルを読み込む場合に使用すると思います。今後、そのようなWebアプリケーションが増えていくと思います。

関数を作りましたのでご参考にしてください。引数のPByteArrayにバイナリ配列を渡して戻り値が文字列となります。

function PByteArrayToUnicode(PByteArray) {
    var B;
    var i = 0;
    var len = PByteArray.length;
    var PWordArray = new Array();

    if ((len % 2) != 0) {

        //throw 'It's broken';

        // できるだけ読み込むようにする
        len--;
    }

    while (true) {
        B = PByteArray[i]; i++;
        PWordArray[PWordArray.length] = B << 8 | PByteArray[i];
        if (i == len) break;

        i++;
        if (i == len) break;
    }

    return String.fromCharCode.apply(null, PWordArray);
}

Unicodeの先頭の「0xFE」「0xFF」が必要なければ関数に渡す引数を「Uint8Array.slice(2)」にして先頭2バイトを削除して下さい。

また、Asciiで文字列を読み込む場合は次のコードで可能です。

String.fromCharCode.apply(null, PByeArray)

なお、日本語のSJIS、EUC、JISなどの文字コードの変換はJavascriptでは標準関数がありませんので自分で作る必要があります。





関連記事



公開日:2015年12月27日
記事NO:01662


この記事を書いた人

💻 ITスキル・経験
サーバー構築からWebアプリケーション開発。IoTをはじめとする電子工作、ロボット、人工知能やスマホ/OSアプリまで分野問わず経験。

画像処理/音声処理/アニメーション、3Dゲーム、会計ソフト、PDF作成/編集、逆アセンブラ、EXE/DLLファイルの書き換えなどのアプリを公開。詳しくは自己紹介へ
プチモンテ代表、アーティスト名:プチモンテ
🎵 音楽制作
BGMは楽器(音源)さえあれば、何でも制作可能。歌モノは主にロック、バラード、ポップスを制作。歌詞は叙情詩、叙情的な楽曲が多い。楽曲制作は2023年12月中旬 ~

オリジナル曲を始めました✨

YouTubeで各楽曲を公開しています🌈
https://www.youtube.com/@petitmonte

【男性ボーカル】DA・KA・RA | 新たな明日が風と共に訪れる

【男性、女性ボーカル】時空を超越する先に | 時空と風の交響曲

【女性、男性ボーカル】絆 | 穏やかな心に奏でる旋律