先週、JavaScript だけで EXIF を読むという記事を書いたのだが、万里小路さんのコメントにより、サンプルとして公開していたスクリプトにバグがあることが判明した。 具体的には、文字列値として埋め込まれているデータをそのまま読み込むため、NULL 文字などが入っていると文字化けが発生する。スクリプトの元ネタである Jacob Seidelin 氏のスクリプトでもこの部分の処理は一緒なので、同じ問題が起きると思う。 問題の処理は binaryajax.js にあり、以下のように実装されている。 this.getStringAt = function( offset, length ) { var value = []; for( var i = offset, j = 0; i < offset + length; ++i, ++j ) { value[ j ] = String.f