无法获得可读的USSD返回消息

时间:2018-07-26 17:52:20

标签: python gsm ussd

我正在做一个程序来检查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,“ D8B41B344687DF20580C879BC56AB8586EA6A02E873A50CCE68AE17264450CD4AC8741E7771A4445BFC369903D0C9A36A70A19A8590F83CEEF348818A687153350B31E0691D36334C85E0739D1E1E1C1E6C69E6E6E1E1E1E1688

我尝试通过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代码是否有问题,或者我必须使用什么技术将返回的十六进制值转换为可读消息? 谢谢

1 个答案:

答案 0 :(得分:0)

我刚刚发现,问题是因为我使用了错误的工具来转换我的HEX值,这是正确的:

http://smstools3.kekekasvi.com/topic.php?id=288

尝试使用此工具与USSD输入/显示进行转换,我得到了我需要的