2012-01-27 17 views
3

base64でエンコードされたファイルから空白を削除する必要があります。 Base64で掲示されます、と私は、より空白がstring.Whereは、これらの空白は投稿時にbase64でエンコードされた文字列から空白を削除します

どのように私はこれらのwhitespcaes

+0

どのようなコードあなたは、base64エンコードされた文字列を生成し、投稿するために使用していますか? 文字列をポストすると空白文字が追加されません –

+0

イメージバイナリ文字列(イメージをバイナリに変換し、base64でエンコードしたもの)をiPhoneプログラム –

答えて

4

Base64では、POSTされます場合は、すべてのプラス(+)は次のように解析されているを削除するには来ているやっ入れてしまった場合にはスペース。だから、スペースをプラスに戻すためにstr_replaceを使った。 これで保存時間

+0

から送信すると危険です。 なぜ私の答えを見てください。 –

2

POSTメッセージをどのようにエンコードしたかによって、POSTメッセージの内容がエンコードされます(ほとんどの場合、デフォルトでURLencodeされることがあります) 。

POSTメッセージに空白があったはずの+文字が含まれている場合、これはURLエンコードされていることを意味します。 POSTメッセージに%20が含まれている必要がある場合、これはHTMLエンコードされていることを意味します。

PHPは、これらのエンコードされた文字列を元の状態に戻す方法を提供しています。

urldecode(PHP4とPHP5)documentation can be found here

html_entity_decode(PHP 4.3.0+とPHP5)documentation can be found here

+0

これはPHPとphpをやりとりしているときには大丈夫ですが、これは変な状態だと思います。私はPHPとiPhoneアプリで作業しています。ベンの答えが私の問題を解決してくれました。 –

+0

URLエンコーディングとデコード、htmlエンコーディングとデコードは同じ標準に準拠しているため、プラットフォームごとに異なる必要はありません。 MonoTouch iPhoneアプリケーションでも同じことをしました。 –

+0

「ありがとう!」私はその考え方を試してみるよ –

関連する問題