クエリ文字列に2つのパラメータを渡す必要がありますが、それらをユーザに単一のパラメータとして表示したいとします。低レベルでは、これら2つの値をどのようにして後で分けることができますか?どちらの値もBase64でエンコードされています。複数のBase64エンコードされたパラメータがURLクエリ文字列に1として表示される
?Name=abcyxz
ここで、abcとxyzは別々のBase64エンコード文字列です。
クエリ文字列に2つのパラメータを渡す必要がありますが、それらをユーザに単一のパラメータとして表示したいとします。低レベルでは、これら2つの値をどのようにして後で分けることができますか?どちらの値もBase64でエンコードされています。複数のBase64エンコードされたパラメータがURLクエリ文字列に1として表示される
?Name=abcyxz
ここで、abcとxyzは別々のBase64エンコード文字列です。
セパレータを使用するか、最初のアイテムの長さを保存する必要があります。
あなたはこの
temp = base64_encode("var1=abc&var2=yxz")
ような何かをして、後で、全体の文字列をデコードし、VARSを分割することができ
?Name=temp
を呼び出さない理由。 (擬似コードのSRY:P)
編集:ウィキペディア
から小さな引用(RFC 1421で指定される)PEMの現行バージョンは、大文字と小文字からなる64文字のアルファベットを使用しアルファベットのアルファベット文字(A-Z、a-z)、数字(0-9)、および「+」および「/」記号が含まれています。 "="記号は特別な接尾辞コードとしても使用されます。元の仕様であるRFC 989では、出力ストリーム内のエンコードされているが暗号化されていないデータを区切るために "*"記号が追加で使用されていました。
このアプローチの欠点は、ソースデータがより制限されていることです(一般的なバイト[]にすることはできません。セパレータを気にする必要があります)。 –
まず、2つのパラメータを渡すだけでは不思議です。しかし、これを与えてURLクエリ文字列内の有効な文字を選択してください。例えば、〜
のような、あなたのbase64エンコーディングには表示されません。 ありがとう、 – andleer
なぜあなたはデータで区切り文字をエンコードして、それを分割したのですか?それをデコードしましたか? –
私はドット(。)がすると思います。 –