【发布时间】:2018-07-26 17:52:20
【问题描述】:
我正在做一个程序来检查 sim 卡的余额,我使用模块 GSM A6,这是我的 python 代码:
port.write('AT+CMGF=0'+'\r\n')
time.sleep(2)
port.write('AT+CSCS="HEX"'+'\r\n')
time.sleep(2)
port.write('AT+CUSD=1'+'\r\n')
time.sleep(2)
port.write('AT+CUSD=1,"*101#",15'+'\r\n')
print('Waiting....')
time.sleep(5)
reply = port.read(port.inWaiting())
这是它返回的内容:
AT+CMGF=0
好的
AT+CSCS="HEX"
好的
AT+CUSD=1
好的
AT+CUSD=1,"*101#",15
好的
+ CUSD:1, “D8B41B344687DF20580C879BC56AB8586EA6A02E873A50CCE68AE17264450CD4AC8741E7771A4445BFC369903D0C9A36A70A19A8590F83CEEF348818A687153350B31E0691D36334C85E0739D1E131688C7E2B68A0633A9C06D1E56910F2495500”,15 P>
我尝试通过http://www.convertstring.com/vi/EncodeDecode/HexDecode 等在线工具将十六进制返回消息转换为普通文本 但我得到的是这样的:Ø´4Fß XÅj¸Xn¦ .:PÌæárdEÔ¬AçwDE¿Ãi=6§ ¨YÎï4¦3P³Óc4È^9Ñá1h~+h c:ÑåiòIU
我的 USSD 代码有问题,或者我必须使用什么技术将十六进制值返回转换为可读消息? 谢谢
【问题讨论】: