SIM800接收短信编码问题

问题描述 投票:0回答:1

我正在尝试设置SIM800来接收来自我的报警系统的SMS信息,我得到了它的工作...几乎。

当我从手机发送短信时,SIM800以可读的格式正确接收信息。然而,当报警系统发送短信时,SIM800显示一个长长的字符串,包含十六进制数字,而不是信息。

在查看接收到的十六进制字符串时,我注意到每第二个数字都是0x00。然后我试着从字符串中删除多余的0x00,并通过十六进制到ascii转换器运行它,然后我可以正确地阅读信息。

当我在手机上收到来自报警系统的信息时,无需任何手动转换就能正确显示。

我尝试了SIM800上的AT+CMGF命令和AT+CSCS命令的不同设置,但似乎没有解决这个问题。

是否有其他AT命令需要设置?

encoding sms sim800
1个回答
0
投票

有两种GMS编码方案,GSM 7位(您看到的是文本,因为它是由SIM800为您解码的)和UCS-2,UCS-2代表了这些两个字节字符中最常用的拉丁和东方字符。

UCS-2编码与UTF-16完全相同,所以您可以使用UTF-16进行解码。您可以从SIM800对+CMGR的响应中的 "数据编码方案 "条目知道这是UCS-2信息。

你可以通过搜索'GSM 03.38字符编码'来了解更多。

© www.soinside.com 2019 - 2024. All rights reserved.