質問: uncompress($num);
回答: 圧縮のアルゴリズムは、たくさんあります。 どれを選ぶか、もしくは組み合わせるかの問題かと思います。 メジャーなところで、zipなどの圧縮を行い、base64等の符号化処理をするのが 良いのではないでしょうか。 テキストor非テキストの文字列 ↓ zipアルゴリズムで圧縮(縮める) ↓ 非テキストの文字列 ↓ base64符号化(問題ある制御符号を無くすためちょっと伸ばす) ↓ テキスト文字列(7ビット文字だけの組み合わせ文字列) ただし、アルゴリズムや符号化の方式を選び間違うと、 元の文字列より長くなることがあるので、注意してください。 例えば、256バイト以下の対象データをlzhアルゴリズムで圧縮すると、 256バイト以上の圧縮結果となります。 また、符号化方式も、識別のため前後にマジックワードが付与されたり するので、対象データが短すぎると、大元の対象データより長くなる可能性も あります。 なお、当然ですが、復元するのに仕組みが必要になるので、相手が携帯であれば 携帯側に、javaなどで復元処理を実装することになると思いますので、メジャーなものを 組み合わせれば、復元側も既存のモノを流用できて良いと思います。