問題タブ [aztec-barcode]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - Aztec バーコード (Deutsche Bahn Ticket) に保存されている zlib データの解凍に助けが必要
前提
ドイツ鉄道 (ドイツ鉄道) が発行するチケットで現在使用されているバーコード形式からデータをデコードしようとしています。すでに同様のことを行っており、python スクリプトを提供しているこの非常に便利な Web サイト(ドイツ語) を見つけました。
Web サイトには、データは で圧縮されzlib
、結果のブロブは DSA で署名され、そのすべてがバーコード (Aztec 形式) で保存されると記載されています。
そのようなバーコードの例
問題
Web サイトで提供されているスクリプトを使用して、チケットを正常にデコードしました。python-pyasn1 ライブラリをインストールしました。バーコードを読み取り (指示に従ってBCTesterを使用しましたが、NeoReader アプリに問題がありました)、結果を 16 進数に変換しました。16進データをプレーンテキストファイルとして保存し(何らかの理由でスクリプトで必要なため)、スクリプトでファイルを解析しました。出来た。
しかし、スクリプトはやりすぎです。私は自分で解析を行いたいのですが、zlib 解凍を機能させることができず、それを理解するためのコードをほとんど理解していません。私はPythonをほとんど知りません。ただし、プログラミング経験はあります。
バーコードのデータを単純に見ると、次のようになります: https://gist.github.com/oelna/096787dc18596aaa4f5f
最初の質問は次のとおりです: DSA 署名とは何ですか? 最初に実際の圧縮データからそれを分割する必要がありますか?
2 つ目: ファイルからバーコード BLOB を読み取り、単純に圧縮解除する単純な Python スクリプトはどのようなもので、形式をさらに解析できます。みたいなのが頭にあった
しかし、それは機能していません。正しい方向へのヒントをいただければ幸いです。
ファイルに保存された場合にスクリプトで読み取ることができる 16 進データは次のとおりです。
更新/解決策:
Mark Adler のヒントは、私を正しい軌道に乗せました。何時間もかかりましたが、この特定の問題に対する有効な解決策をまとめました。もっと賢かったら78 9C
、オフセット 68 にある zlib ヘッダーを認識できたでしょう。この時点でデータを分割するだけで、後半は問題なく解凍されます。注意してください、非常に悲しいですpython
これに対する簡単な解決策がある場合は、お気軽にコメントしてください。もう少しこの作業を続けて、オフセットをハードコーディングせずに zlib ヘッダーを積極的に探し出す、より堅牢なソリューションにしようとします。前半は のような識別子コードで#UT010080000060,
、その後にASN.1
DSA 署名が続きます。幸いなことに、検証や変更を行う必要はありません。
zpl - Aztec バーコードのサイズを大きくする
Aztec
バーコードを5"x5.5"
ラベルに合わせてスケーリングしようとしていますが、デフォルトのAztec
エンコーダーは約 より大きいバーコードを作成しません0.25"x0.25"
。
どうすれば大きくすることができますか?
私のコードは以下の通りです:
decode - Aztec バーコードのデコード
次の Aztec バーコードをデコードするのに苦労しています:
https://i.stack.imgur.com/TUt0p.png
NeoReader を含め、人気のあるアプリはすべて試しました。私が得るデコードは次のとおりです。
UT011186000010, eè�FWà Ü�r�¦�iI ;)���Ä� s�g´!iZä|30206xÚU�ÍjA�_Ås@¬îùÉÌQ1!`v9É�]4Dgíf/¾}º�M¾ª«ÚãËv �@�3DÁ·)½Fo9<ûÅ}8�2(@Æv¹/í±Ù¯?ÄÄ���²P�<�Ý�S7\¿�q�ÒV³&À¢âîvé¾Nç¾�¤£ºµ¯àV5Ò0U¹Þ�Büz�ØÉÏÚ �Â!OS.ùó�Ç¡/?ÃXàI#ký�Þ�-c�7vöøÞJéI(ÎÉÙ9yü£U�Ì{�þÇõKÂ
私はデンマークにいるので、このテキストの一部の文字はデンマーク語である可能性があると思います: Æ、Ø、または Å。ただし、残りは通常のラテン アルファベットなので、正しくデコードされるはずですが、そうではありません。バーコードが何を言っているのか知りたいだけです。
前もって感謝します
zxing - zxing And Aforge aztec バーコード読み取り
物理パスから画像を読み取ると機能しますが、ウェブカメラの現在のフレームをcurrentBitmapForDecoding
それに割り当てるとBarcode.pls
、アステカのバーコードを読み取るのに役立ちます。フレームサイズを小さくしても機能しません。