MSR606 Mag-Stripe カード リーダーを購入しました。プログラマーズ ガイダンス ドキュメントでわかるように、標準の RS232 信号電圧レベルでコンピュータと通信します。デフォルト、9600 ボー、なし パリティ、8 ビット。
サポートされているコマンドの 1 つはRead RAW Dataです。
Pythonで上記のコマンドを使用してカードを読み取ろうとしました。これらは結果です:
Python 3.4.1 (v3.4.1:c0e311e010fc, May 18 2014, 10:38:22) [MSC v.1600 32 bit (Intel)] on win32
Type "copyright", "credits" or "license()" for more information.
>>> import serial
>>> encoder = serial.Serial("COM3", 9600, timeout = 3)
>>> encoder.write(b'\x1b\x6d')
2
>>> encoder.readline()
b'\x1bs\x1b\x01\x00\x1b\x02^\xd3C\x9eNp#y\x06\xf1\xb5\r\xa6\xd0\xd6\x01\x83y
\xc6\x84!\x08B\x10\x87\xed\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
\x1b\x03\x00?\x1c\x1b0'
>>>
これは、同じカードを読み取ったときにメーカーのツールが返す結果です。
ISO Form : 6037991467167650=96051016776000000000
RAW Form : D3439E4E70237906F1B50DA6D0D6018379C6842108421087ED
これはメーカーのツール出力です。
私の問題は何ですか?
Python プログラムの出力をメーカーのツールで表示される値に変換したいのですが、わかりません! 16 進値を 10 進値に変換しようとしましたが、役に立ちませんでした。