現在、IDTech 暗号化ピンパッド/カード リーダー (HIDUSB デバイス) のサポートをコーディングしようとしています。入力すると (スワイプまたはキー入力)、デバイスは次のような XML で応答を送信します。
<DvcMsg Ver="1.1"><Dvc App="SecureKey Demo Software" AppVer="1.0" DvcType="M130-IDTECH" DvcSN="54114600381" Entry="SWIPE"></Dvc><Card CEncode="0" ETrk1="ýÚ‹çMŒ·¯×Õ³a+.7ãN2†ÖcƒTWïX¿6`Eåq1Bk_–Ø‚ÑM€œœåê`S" ETrk2="ÓÙ|•QΊkÄn`å ¤óhîõRÐ3ÌЀ{Rs¤Ì7MX¯nw" CDataKSN="P&ƒµ" Exp="0512" MskPAN="4444******4444" CHolder="PAYMENTECH" EFormat="4"></Card><Addr></Addr><Tran TranType="CREDIT"></Tran></DvcMsg>
ETrk1、ETrk2、および CDataKSN 属性の暗号化された情報に無効な文字が含まれていることがわかりました。これにより、XML パーサーがトラック内で停止する可能性があります。XMLを解析できるように、異なる文字エンコーディングを使用して各文字に相当する16進数を生成する方法はありますか?それを達成するには、最初にXML文字列を操作する必要がありますか?