2012-08-29 28 views
5

私は2dバーコードスキャナ(Honeywell Xenon 1900)を持っています。バーコードスキャナから返されたバイナリデータを処理する方法は?

スキャナがキーボードイベントをエミュレートしプレーンテキストを送信するので、1Dバーコードのスキャンが簡単です。

しかし、PDF417 formatの2Dバーコードをスキャンすると、スキャナはバイナリデータを送信します。このデータをキャプチャしてデコードするにはどうすればよいですか?いくつかのシンボルは印刷不可能なので、Webページ上のフォームにスキャンすることはできません。

+3

サンプルレスポンスを投稿することはありますか? – BryanH

+1

あなたの投稿にあなたの答えがあります。ちょっとリンクを見てください。(ISO in wiki) –

+0

Wikipediaの記事によると、バーコードには実際のバイナリデータが入っている可能性があります。 ASCIIデータだけで2Dバーコードを生成するとどうなりますか?あなたはスキャナからテキストを戻しますか? – BryanH

答えて

3

私の解決方法はCOMポートを使用しています。

スキャナを設定して、キーボードイベントではなく仮想COMポートにデータを送信します。 次に、このポート(RXTXを使用)をリッスンするJavaアプレットがあります。その後、COMポートが空ではない、私はデータを取得し、それを解析することができます。

0

あなたはこのJavaとjavascriptのタグを付けました。しかし、あなたは本当にあなたのアプリケーションの詳細を私たちに与えていません。それにもかかわらず、javascriptでのバイナリデータの転送は、base64プロトコルを使用して行うことができます。 btoa()atob()の2つの方法を使用します。

function toBase64() { 
      return window.btoa(data); 
     } 
function fromBase64 (strBase64){ 
      data = window.atob(strBase64); 
     } 

私は、しかし、あなたのためのコンセプトを考える(と私はちょうどあなたが任意の詳細に何をしているかを説明していないので推測している)、それを輸送する前にbase64ENCODEデータになりますjavascript/html/webアプリケーション。あなたは私が仮定するjavaを使用してこれを行うでしょう。 base64でエンコードされたデータをWebアプリケーションに送信すると、それを簡単に処理できます。

+0

これは、エレガントで簡単な実装ソリューションです。しかし、BASE64形式を使用するスキャナの設定オプションが見つかりません。 – griZZZly8

関連する問題