你可能会碰到这样的问题。比如发送短信,短信长度为 140 字节,如果文本超过了 140 个字节,你就必须将其截成多条。同时你又希望尽可能多的利用这 140 个字节。如果每个中文 2 字节,把短信内容限制在 70 个字符,那么英文较多的短信长度就被浪费了。你希望有一个方法,按字节来截取字符串,得到不超过 140 字节的最长子字符串。下面是一个例子:
假设一段文字有 100 个字符,150 个字节,而我们要截取不超过 140 个字节,那么:
我们首先从最长的子字符串开始。如果这个子字符串的字节长度超过了 140,那么去掉最后一个字符,继续判断,直到字节长度小于或等于 140 为止。
PS:感谢 madodo 兄,我把脱裤子放屁的代码去掉了。