0

XML リクエストを base64_encode してデコードしようとしています。

$xml = '<root>
    <term id="KEY">VAL</term>
    <term id="KEY2">VAL2</term>
    <term id="KEY3">VAL3</term>
</root>';
echo base64_encode( $xml );
echo base64_decode( $xml );

デコード時にこの奇妙なものが返されるのはなぜですか?

®Š-µêæ‰Ò„aPþ׫š×«š'J•½¿µêæµêæ‰Ò„cu@/íz¹¿®Š-
4

4 に答える 4

4

base64 でエンコードされた文字列ではなく、XML の元の文字列をデコードしようとしています。

$xml = '<root>
    <term id="KEY">VAL</term>
    <term id="KEY2">VAL2</term>
    <term id="KEY3">VAL3</term>
</root>';

$encoded_xml = base64_encode( $xml );

echo $encoded_xml;
echo base64_decode( $encoded_xml );
于 2013-02-14T15:48:46.310 に答える
4

エンコードされたバージョンを保存せずに、元の XML 文字列をデコードしようとしています。

試す

$xml = '...';
$encoded = base64_encode($xml);
$decoded = base64_decode($encoded);
                         ^^^^^^^^
于 2013-02-14T15:49:11.717 に答える
3

これは、実際にエンコードされた文字列ではなく、XML をエンコードしようとしているためです。

于 2013-02-14T15:50:02.573 に答える
1

すでにエンコードされていて、そうでないものをデコードする必要があるためです$xml

于 2013-02-14T15:48:42.403 に答える