태터데스크 관리자

도움말
닫기
적용하기   첫페이지 만들기

태터데스크 메시지

저장하였습니다.

'MIME::Base64'에 해당되는 글 1건

  1. 2011.07.26 [perl] URL, BASE64 Encode/Decode

[perl] URL, BASE64 Encode/Decode

ⓘ Programming 2011.07.26 10:40

쪽팔리지만...encoding시 문자열 끝에 %0A가 따라붙어서 매우 원시적인 방법으로 제거함..
근본적인 해결책 아시는분 댓글 달아 주시면 감사^^;

 #!/usr/bin/perl

use strict;
use MIME::Base64;
use URI::Escape;
 

 my $str='c3ViYW4%3D';

 # decoding part(방법 1)
 $str=~ s/\%([A-Fa-f0-9]{2})/pack('C', hex($1))/seg;  # url decode
 $str=decode_base64($str);  # base64 decode
 print $str."\n";

 # decoding part(방법 2)
 $str='c3ViYW4%3D';
 $str=uri_unescape($str); # url decode
 $str=decode_base64($str);  # base64 decode
 print $str."\n";

 

 # encoding part(방법 1)
 $str=encode_base64($str);
 $str =~ s/([^A-Za-z0-9])/sprintf("%%%02X", ord($1))/seg; # url encode
 print substr($str,0,length($str)-3)."\n"; # %0A 제거

 # encoding part(방법 2)
 $str='suban';
 $str=encode_base64($str);
 $str=uri_escape($str); # url encode
 print substr($str,0,length($str)-3)."\n"; # %0A 제거
 
exit(0);
 

sub URLDecode {
 my $theURL = $_[0];
 $theURL=~ s/\%([A-Fa-f0-9]{2})/pack('C', hex($1))/seg;
 return $theURL;
}

sub URLEncode {
 my $theURL = $_[0];
 $theURL=~ s/([^A-Za-z0-9])/sprintf("%%%02X", ord($1))/seg;
 return $theURL;
}

'ⓘ Programming' 카테고리의 다른 글

[Batch] 배치파일 만들기  (0) 2012.11.05
[Oracle] DBMS_CRYPTO  (0) 2012.01.27
[perl] URL, BASE64 Encode/Decode  (0) 2011.07.26
[Perl] MCPAN으로 모듈설치하기  (0) 2011.04.15
sikuli(시쿠리)를 아시나요?  (0) 2011.02.11
[mysql] 명령 모음  (0) 2010.09.01
Trackbacks 0 : Comments 0

Write a comment