2012-05-04 5 views
3

私は、リーダー(RFID)からの入力をキャプチャしてキーボードバッファ(キーボードウェッジ)に送るデバイスドライバを使用します。キャプチャされたデータは、Javaスクリプトを使用して中間的に変換できます(また、変換する必要があります)。JavaScriptの文字列内のバイナリデータにアクセスする方法

このjavascriptはドライバコンテキスト内で処理されます。残念ながら、javascriptはstring型のDATA変数にキャプチャされた "バイナリ"データを取得します。

入力はユニコードと解釈され、文字列内でバイトごとにアドレス指定することはできません。値に応じて1〜4バイトの長さの間で任意に変更されます。

バイナリ文字列を読み込み可能な文字列形式に変換するだけでよい:xf9268970は "f9268970"と読みます。私が試みたものはこれまでに吸ったものだ。

ありがとうございました!

+0

テキストフィールドでキャプチャしているのですか、キーストロークを聞き、ASCII値をキャプチャしていますか? –

+0

ドライバソースにアクセスできますか? –

+0

Nope - ドライバソースにアクセスできない。これは一般的なWindowsドライバです(キーボードへのCOM入力を指示するキーボードウェッジ - JavaScript変換あり) – Klaus

答えて

1

まず、免責条項を示します。私はバイナリデータとjavascriptで作業していませんが、おそらくこれが役に立ちます。

多分、文字列をループしてcharAtを使って各文字を見ることができます。私が理解しているところから、charAtはASCII値(Unicodeではなく)を返します。 (?)だからではなく、4バイトで、あなたは2バイトになるだろう

var character; 
for (var i = 0; i < str.length; i++) { 
    character = str.charAt(i); 
} 

はたぶん、このリファレンスは正しい方向にあなたをポイントします:charAt reference

+0

残念なことに、charAtと文字列の長さは、コードごとに1文字では機能しません。次の例のhtmlページ - コードが6バイトであってもlength = 1を返します.-( – Klaus

+0

' 「 – Klaus

0

私はあなたが個別にキーストロークのためのリスニングとの値を記録されるべきだと思いますテキストボックスを読み込む代わりに変数。

+0

次のように:データがjavascriptに到達する方法に影響を与えることはできません。なぜなら、ドライバに組み込まれたjavascript機能であるからです。私はちょうどスキャナが読むものを得る。-Klaus – Klaus

+0

これはキーボードウェッジなので、独自のJSコードでキーリスナーを接続することができます。私はキーボードウェッジを使ったバーコードスキャナでこれをやった。 –

+0

受信入力欄にキーリスナーを意味しますか?しかし、Webページの中にはExcelセルでもあるものがたくさんあるので...これは間違った場所かもしれません! – Klaus

関連する問題