1

我需要将字符串从文本字段转换为字节。我怎样才能做到这一点?

原因:文本框上的文本将通过 SMS 发送给客户端,我将文本限制为 160 个字符,但如果我输入特殊字符,如@€£‰¶÷‰‰€£@它将大于 256字节(这是一条短信的大小)。

所以我需要从 256 中删除转换后的文本到字节,并将结果转换为正常的字符长度。

例子:

var charsleft = toChars(256 - toBytes(mystring));

编辑:
使用 Javascript 的原因:我有一行说“剩下 XXX 字符”

4

2 回答 2

2

使用您喜欢的语言在服务器端进行。Java/ECMA 脚本对于此类操作来说确实是一个糟糕的地方。这已经是一团糟,character encoding所以帮自己一个忙,跳过这些麻烦content-types。将字符串作为UTF8(例如)发送到您的服务器并在那里完成工作。

于 2010-07-12T10:40:04.850 回答
0

您使用什么系统从 jQuery 发送短信?我怀疑它将通过 HTTP 请求,在这种情况下,服务应该为您进行编码。在某些情况下,有些字符在 GSM 字符集中没有表示,而在其他情况下,字符需要表示为“转义对”字节。

您正在使用的服务的文档应该能够告知您 SMS 正文的正确格式。

例如:http ://www.bulksms.com/int/docs/eapi/submission/character_encoding/

全面披露:我为 BulkSMS 工作

于 2010-07-12T10:42:21.553 回答