個人的なプロジェクトとして、JavaScript (HTML5 ベース) で 6502 エミュレーターを作成しています。C で作成した前任者から一部を移植しています。ファイル (私の場合は ROM) をロードするには、次の C コードを使用できます。
unsigned char* buffer = calloc(1, 4096);
FILE* file = fopen("xyz", "rb");
fread(buffer, 1, 4096, file);
fclose(file);
次のようにアクセスします。
char firstChar = buffer[0];
short nextShort = (buffer[2] << 8) | buffer[1];
free(buffer);
さて、これを JavaScript に移植できるようにする必要があります。入力については、ファイル入力を使用して次のようなことができます。
var file = document.getElementById("picker").files[0];
var reader = new FileReader();
reader.readAsDataURL(file);
ここから、ファイルの巨大な base64 エンコーディングとして、reader.result を取得します。最初の C の例で行ったように、単純に値を取得 (または単純なビット演算を使用) できるバイナリ ファイルにアクセスする方法が必要です。
最も実現可能な解決策は、0 ~ 255 の値の配列になると思いますが、方法に関係なく、アクセスが必要なだけです。