1

安全な方法でシステムにデータを渡すことができるように、Web インターフェイスからのユーザー入力値をエンコードしたいと考えています。つまり、引用符や括弧などの不適切な文字と思われるものを削除したいと考えています。

base64 を使用でき、問題なく動作します。ただし、文字列がもともと英数字で、下位層で人間が読める形式である場合は、文字列を読み取れるようにしたいと考えています。

したがって、'Nice string'にエンコードされます'Nice string''N@sty!!``string!!))'、 のようなものにエンコードされます"N=E2sty=B3=B3=XY=XYstring=B3=B3=B1=B1"。私はちょうどそれを作ったが、あなたはアイデアを得る.

そのようなエンコーディング形式は存在しますか?特に Python には存在しますか?

4

3 に答える 3

4

どうですか:

urllib.quote("'N@sty!!`` string,!!))'",safe=" ,.").replace('%','=')
'=27N=40sty=21=21=60=60 string,=21=21=29=29=27'
于 2012-05-04T14:09:36.663 に答える
0

使用できますurllib.quote

>>> urllib.quote("Nice String");
'Nice%20String'
>>> urllib.quote("N@sty!!``string!!))");
'N%40sty%21%21%60%60string%21%21%29%29'
于 2012-05-04T14:07:16.163 に答える
0

Punycodeはあなたのニーズを満たすと思います。

import encodings.punycode
encoded = encodings.punycode.punycode_encode(inputstr)
于 2012-05-04T14:03:29.663 に答える