140个字符中我可以存储的最大字符数是多少?

3
我想发送一些数据(ASCII字母和数字),但由于各种因素,我只能使用短信。我的问题是,如何发送超过SMS最大长度140个字符的数据?
我控制发送和接收端的过程。加密有帮助吗?是否有任何压缩机制可以使用,以便在解压缩后可以超过SMS限制?
我也不反对发送多个SMS消息,并将它们重新组合以形成更大的负载。
你有什么想法呢?

我认为通常的方法是使用多个消息。有一些字符串编码库(例如smaz,尽管输出是二进制的?)旨在“压缩”短的英语/拉丁字母语言字符串(不要与一般压缩混淆)。同样,[更好的]自定义编码可能能够减少数据... - user2246674
你发送的数据是什么?如果可以是任何东西,压缩实际上并不能起到帮助作用。如果您对数据内容有一些了解,则可能会将其压缩。如果您知道某些字符不会被使用,有些字符的使用比其他字符多等等,则有潜在的宝贵压缩机会。它需要跨消息形成模式,因为消息不足以使其适应特定的发送消息(与文件加密不同,在其中您有足够的空间填充此类信息的开销)。 - Servy
短信存在可靠性问题,有人对此提出了批评(参见http://en.wikipedia.org/wiki/Short_Message_Service#Unreliability)。因此,发送多条短信可能存在风险,无法保证100%送达或及时送达。 - Austin Salonen
1个回答

1
正如您自己建议的那样,您可以压缩您的消息。您可以发送多少数据取决于您的数据的各种属性。找出最简单的方法是尝试一下。
如果您的数据无法适应140个短信字符,并且您不能使用多个短信消息,则可以将数据存储在某个服务器上,并仅使用短信发送一个ID,以便您可以访问该服务器。或者您可以尝试使用具有更大限制的MMS消息。

我所知道的没有一种通用压缩算法能够在非常短的字符串上得到好处,包括zlib2。像smaz这样的算法通常对于非常小的字符串效果更好..假设输出仍然可接受。 - user2246674
这些字符串并不是很小,它们至少有140个字符长... 无论如何,楼主应该尝试一下 - 他可能需要实现一些变化(可能需要预先计算压缩字典)。 - zmbq
这些是非常小的字符串。zlib2 直到大约 100 字节才开始支付(据我可怜的记忆)- 然后通常只是“稍微好一点”(或者必须回退到存储)。没有必要攻击我的先前评论。然而,尝试不同的方法是一个非常好的建议。 - user2246674
这完全取决于数据。在这些大小下,如果各种字符串足够相似,使用标准而又相对陈旧的哈夫曼编码(实际上是压缩)可以起作用。 我甚至不确定你能在140个短信字符中容纳多少信息 - 支持哪种字符集? - zmbq
似乎是140个八位字节(未指定编码?),或7位和UCS-2选项。 - user2246674

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接