2012-05-04 1 views
1

웹 인터페이스에서 가져온 사용자 입력 값을 암호화하여 내 시스템에 안전 모드로 데이터를 전달할 수 있습니다. 방법. 즉, 따옴표 및 대괄호 등의 잘못된 문자를 고려해야합니다.사람이 읽을 수있는 base64 변형 (파이썬에서)으로 유니 코드를 인코딩하는 방법이 있나요?

base64를 사용할 수 있으며 정상적으로 작동합니다. 그러나, 나는 그들이 낮은 레이어에서 사람이 읽을 수있는 형식으로 원래 영숫자 경우 문자열을 읽을 수 있기를 바랍니다 싶습니다.

따라서 'Nice string''Nice string'으로 인코딩되지만 '[email protected]!!``string!!))'"N=E2sty=B3=B3=XY=XYstring=B3=B3=B1=B1"과 같이 인코딩됩니다. 방금 ​​그걸 만들었지 만 당신은 그 아이디어를 얻었습니다.

이러한 인코딩 형식이 존재하며 특히 파이썬에 존재합니다.

답변

4

방법에 대해 :

이 이
urllib.quote("'[email protected]!!`` string,!!))'",safe=" ,.").replace('%','=') 
'=27N=40sty=21=21=60=60 string,=21=21=29=29=27' 
+0

당신이' ""'urllib.quote의 두 번째 매개 변수에 공간을 유지하기 위해 추가 할 수 없습니다? – raser

+0

좋은 점 raser :) 안전한 param을 사용하도록 편집되었습니다. –

0

나는 Punycode가 귀하의 요구를 충족시킬 것이라고 생각합니다.

import encodings.punycode 
encoded = encodings.punycode.punycode_encode(inputstr) 
0

당신은 urllib.quote 사용할 수 있습니다

>>> urllib.quote("Nice String"); 
'Nice%20String' 
>>> urllib.quote("[email protected]!!``string!!))"); 
'N%40sty%21%21%60%60string%21%21%29%29' 
관련 문제