アンドロイドビジョンAPIを使用してQRコードの生のバイナリデータを取得する方法があるかどうかは知りませんか? 私が読んでいるQRコードには、バイナリデータ(NUL文字を含む)が含まれていますが、完全なバイナリデータブロックが存在するように8ビットエンコーディングで構築されています。 返されたBarcodeオブジェクトは、バイナリデータではなく、rawValueフィールドに「Unknown encoding」という文字列があります。 アイデアありがとう!QRコード - 生のバイナリデータ
1
A
答えて
1
QRコードでエンコーディングが指定されていない(またはデフォルトでは残っている)場合は、自分自身の質問に答えるために、アンドロイドビジョンとzxingライブラリがバイトをutf8に変換するようです。私は、デフォルトのエンコーディングはISO8859-1だと考えましたが、ライブラリはそれを想定していません。 QRコードは、linuxでlibqrencodeを使用して生成されました。生成されたQRコードでECIヘッダーを1に設定すると、アンドロイド・ライブラリーはバイナリー・データを保持します。 したがって、barcodes.valueAt(0).displayValue.getBytes("iso-8859-1");
のバイト配列を読み取ると、正確にエンコードされたバイトが返されます。
+0
私はlibqrencodeと同じQRコードジェネレーターを使用していますが、私は同じ問題がありますが、わかりません。 ECIヘッダーはどこで1に変更されますか? – sh5164
QRコードを変更せずにこれを解決できましたか?私はまったく同じ問題に直面していますが、コードを変更することはできません。 – vojta
いいえ、運良く私の場合、コードを生成したソフトウェアも変更できます。それは私が期待したように動作しました。 –