我正在使用Clickatell REST API发送短信。我需要发送一些特殊字符(如Ä),这些字符在GSM 03.38标准(以及拉丁语-1)中都可用。所以,我不想使用unicode。但是,无论我如何发送消息,我都不会得到我想要的。无论是消息正确保存在Clickatell中,但设备上出现奇怪的符号,或者我对消息进行编码,然后在Clickatell中获得十六进制字母,而在设备上完全没有。在常见问题解答中有HTTP API的解决方案,但它对REST API没有帮助。我联系了支持人员,但我已经等了3天才得到答案。有人在这里有API的经验吗?通过REST API使用特殊GSM字符的Clickatell SMSes
下面是我的一些不成功的尝试:
数据显示正确的Clickate页面上,但不是在SMS
string data = clickatellEncoding.GetString(memoryStream.ToArray());
StringContent stringContent = new StringContent(data, clickatellEncoding,
jsonContentType
的Clickate页面上六角信,没有收到短信
byte[] utfBytes = utf8.GetBytes(data);
byte[] clickatellBytes = Encoding.Convert(utf8, clickatellEncoding, utfBytes);
data = clickatellEncoding.GetString(clickatellBytes);
StringContent stringContent = new StringContent(data, clickatellEncoding),
jsonContentType);
我也写了一个从utf-8到GSM 03.38的转换器,结果在Clickatell页面上又是十六进制字母,没有短信。
任何想法我可以尝试什么?
Clickatell编码是latin-1。因此,理论上我应该发送一切拉丁-1,它应该工作...
那么,有德国网络和我使用的设备所有的时间与这些字符的短信。所以,我在考虑在实施过程中出现了一些错误。 – Antiohia