我目前正在尝试编写对 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,或者我是否需要首先操作 XML 字符串来完成此操作?