具有特殊字符的 SMS 的 GSM 编码 (Twilio)

GSM encoding for SMS with special characters (Twilio)

我希望你能帮助我解决这个问题。

我需要发送带有特殊字符的消息,避免将消息分段太多,也就是说,如果 GSM 消息的最大字符数是 160,我写了一个消息低于 GSM 允许的限制,具有至少一个特殊字符的简单事实此消息更改为 UCS2.

不知道有没有什么办法可以避免,消息只用GSM编码,不导入特殊字符,以免消息加价。

提前致谢和问候。

示例(文本):

编码:GSM

消息:Hola Señor Cliente le informamos que ya está disponible su crédito, acuda a las ofoficinas de Compañia o marque al 00110011001。

长度:125

细分:1

编码:UCS2

消息:Hola Señor Cliente le informamos que ya está disponible su crédito, acuda a las ofoficinas de Compañia o marque al 00110011001。

长度:125

片段:2

示例(图片):

GSM

UCS2

此处为 Twilio 开发人员布道师。

您不能将特殊字符作为 GSM 编码消息发送,因为 GSM 字符集中不存在这些字符。这就是为什么 Twilio 将这些消息编码为 UCS2(好吧,实际上是 UTF16 big endian)。但是,当邮件以 UCS2 编码时,您只能容纳 70 个字符。

确保您的邮件未编码为 UCS2 的唯一方法是避免 the GSM character set 之外的任何字符。

您可以在 post adventures in unicode SMS 上的本博客第一部分 API 中阅读有关 Twilio 如何处理特殊字符的更多信息。

如果有帮助请告诉我。