⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 base64.t

📁 source of perl for linux application,
💻 T
字号:
BEGIN {    if ($ENV{'PERL_CORE'}){        chdir 't' if -d 't';        @INC = '../lib';    }}use strict;use MIME::Base64;print "1..283\n";print "# Testing MIME::Base64-", $MIME::Base64::VERSION, "\n";BEGIN { if (ord('A') == 0x41) {  *ASCII = sub { return $_[0] }; } else {  require Encode;  *ASCII = sub { Encode::encode('ascii',$_[0]) }; }}my $testno = 1;# instead of "for my $test (...)" , which is my preference.# Not sure which perl version has started supporting.  MIME::Base64# was supposed to work with very old perl5, right?my $test;encodeTest();decodeTest();# This used to generate a warningprint "not " unless decode_base64(encode_base64("foo")) eq "foo";print "ok ", $testno++, "\n";sub encodeTest{    print "# encode test\n";    my @encode_tests = (	# All values	["\000" => "AA=="],	["\001" => "AQ=="],	["\002" => "Ag=="],	["\003" => "Aw=="],	["\004" => "BA=="],	["\005" => "BQ=="],	["\006" => "Bg=="],	["\007" => "Bw=="],	["\010" => "CA=="],	["\011" => "CQ=="],	["\012" => "Cg=="],	["\013" => "Cw=="],	["\014" => "DA=="],	["\015" => "DQ=="],	["\016" => "Dg=="],	["\017" => "Dw=="],	["\020" => "EA=="],	["\021" => "EQ=="],	["\022" => "Eg=="],	["\023" => "Ew=="],	["\024" => "FA=="],	["\025" => "FQ=="],	["\026" => "Fg=="],	["\027" => "Fw=="],	["\030" => "GA=="],	["\031" => "GQ=="],	["\032" => "Gg=="],	["\033" => "Gw=="],	["\034" => "HA=="],	["\035" => "HQ=="],	["\036" => "Hg=="],	["\037" => "Hw=="],	["\040" => "IA=="],	["\041" => "IQ=="],	["\042" => "Ig=="],	["\043" => "Iw=="],	["\044" => "JA=="],	["\045" => "JQ=="],	["\046" => "Jg=="],	["\047" => "Jw=="],	["\050" => "KA=="],	["\051" => "KQ=="],	["\052" => "Kg=="],	["\053" => "Kw=="],	["\054" => "LA=="],	["\055" => "LQ=="],	["\056" => "Lg=="],	["\057" => "Lw=="],	["\060" => "MA=="],	["\061" => "MQ=="],	["\062" => "Mg=="],	["\063" => "Mw=="],	["\064" => "NA=="],	["\065" => "NQ=="],	["\066" => "Ng=="],	["\067" => "Nw=="],	["\070" => "OA=="],	["\071" => "OQ=="],	["\072" => "Og=="],	["\073" => "Ow=="],	["\074" => "PA=="],	["\075" => "PQ=="],	["\076" => "Pg=="],	["\077" => "Pw=="],	["\100" => "QA=="],	["\101" => "QQ=="],	["\102" => "Qg=="],	["\103" => "Qw=="],	["\104" => "RA=="],	["\105" => "RQ=="],	["\106" => "Rg=="],	["\107" => "Rw=="],	["\110" => "SA=="],	["\111" => "SQ=="],	["\112" => "Sg=="],	["\113" => "Sw=="],	["\114" => "TA=="],	["\115" => "TQ=="],	["\116" => "Tg=="],	["\117" => "Tw=="],	["\120" => "UA=="],	["\121" => "UQ=="],	["\122" => "Ug=="],	["\123" => "Uw=="],	["\124" => "VA=="],	["\125" => "VQ=="],	["\126" => "Vg=="],	["\127" => "Vw=="],	["\130" => "WA=="],	["\131" => "WQ=="],	["\132" => "Wg=="],	["\133" => "Ww=="],	["\134" => "XA=="],	["\135" => "XQ=="],	["\136" => "Xg=="],	["\137" => "Xw=="],	["\140" => "YA=="],	["\141" => "YQ=="],	["\142" => "Yg=="],	["\143" => "Yw=="],	["\144" => "ZA=="],	["\145" => "ZQ=="],	["\146" => "Zg=="],	["\147" => "Zw=="],	["\150" => "aA=="],	["\151" => "aQ=="],	["\152" => "ag=="],	["\153" => "aw=="],	["\154" => "bA=="],	["\155" => "bQ=="],	["\156" => "bg=="],	["\157" => "bw=="],	["\160" => "cA=="],	["\161" => "cQ=="],	["\162" => "cg=="],	["\163" => "cw=="],	["\164" => "dA=="],	["\165" => "dQ=="],	["\166" => "dg=="],	["\167" => "dw=="],	["\170" => "eA=="],	["\171" => "eQ=="],	["\172" => "eg=="],	["\173" => "ew=="],	["\174" => "fA=="],	["\175" => "fQ=="],	["\176" => "fg=="],	["\177" => "fw=="],	["\200" => "gA=="],	["\201" => "gQ=="],	["\202" => "gg=="],	["\203" => "gw=="],	["\204" => "hA=="],	["\205" => "hQ=="],	["\206" => "hg=="],	["\207" => "hw=="],	["\210" => "iA=="],	["\211" => "iQ=="],	["\212" => "ig=="],	["\213" => "iw=="],	["\214" => "jA=="],	["\215" => "jQ=="],	["\216" => "jg=="],	["\217" => "jw=="],	["\220" => "kA=="],	["\221" => "kQ=="],	["\222" => "kg=="],	["\223" => "kw=="],	["\224" => "lA=="],	["\225" => "lQ=="],	["\226" => "lg=="],	["\227" => "lw=="],	["\230" => "mA=="],	["\231" => "mQ=="],	["\232" => "mg=="],	["\233" => "mw=="],	["\234" => "nA=="],	["\235" => "nQ=="],	["\236" => "ng=="],	["\237" => "nw=="],	["\240" => "oA=="],	["\241" => "oQ=="],	["\242" => "og=="],	["\243" => "ow=="],	["\244" => "pA=="],	["\245" => "pQ=="],	["\246" => "pg=="],	["\247" => "pw=="],	["\250" => "qA=="],	["\251" => "qQ=="],	["\252" => "qg=="],	["\253" => "qw=="],	["\254" => "rA=="],	["\255" => "rQ=="],	["\256" => "rg=="],	["\257" => "rw=="],	["\260" => "sA=="],	["\261" => "sQ=="],	["\262" => "sg=="],	["\263" => "sw=="],	["\264" => "tA=="],	["\265" => "tQ=="],	["\266" => "tg=="],	["\267" => "tw=="],	["\270" => "uA=="],	["\271" => "uQ=="],	["\272" => "ug=="],	["\273" => "uw=="],	["\274" => "vA=="],	["\275" => "vQ=="],	["\276" => "vg=="],	["\277" => "vw=="],	["\300" => "wA=="],	["\301" => "wQ=="],	["\302" => "wg=="],	["\303" => "ww=="],	["\304" => "xA=="],	["\305" => "xQ=="],	["\306" => "xg=="],	["\307" => "xw=="],	["\310" => "yA=="],	["\311" => "yQ=="],	["\312" => "yg=="],	["\313" => "yw=="],	["\314" => "zA=="],	["\315" => "zQ=="],	["\316" => "zg=="],	["\317" => "zw=="],	["\320" => "0A=="],	["\321" => "0Q=="],	["\322" => "0g=="],	["\323" => "0w=="],	["\324" => "1A=="],	["\325" => "1Q=="],	["\326" => "1g=="],	["\327" => "1w=="],	["\330" => "2A=="],	["\331" => "2Q=="],	["\332" => "2g=="],	["\333" => "2w=="],	["\334" => "3A=="],	["\335" => "3Q=="],	["\336" => "3g=="],	["\337" => "3w=="],	["\340" => "4A=="],	["\341" => "4Q=="],	["\342" => "4g=="],	["\343" => "4w=="],	["\344" => "5A=="],	["\345" => "5Q=="],	["\346" => "5g=="],	["\347" => "5w=="],	["\350" => "6A=="],	["\351" => "6Q=="],	["\352" => "6g=="],	["\353" => "6w=="],	["\354" => "7A=="],	["\355" => "7Q=="],	["\356" => "7g=="],	["\357" => "7w=="],	["\360" => "8A=="],	["\361" => "8Q=="],	["\362" => "8g=="],	["\363" => "8w=="],	["\364" => "9A=="],	["\365" => "9Q=="],	["\366" => "9g=="],	["\367" => "9w=="],	["\370" => "+A=="],	["\371" => "+Q=="],	["\372" => "+g=="],	["\373" => "+w=="],	["\374" => "/A=="],	["\375" => "/Q=="],	["\376" => "/g=="],	["\377" => "/w=="],	["\000\377" => "AP8="],	["\377\000" => "/wA="],	["\000\000\000" => "AAAA"],        [''    => ''],	[ASCII('a')   => 'YQ=='],	[ASCII('aa')  => 'YWE='],	[ASCII('aaa') => 'YWFh'],	[ASCII('aaa') => 'YWFh'],	[ASCII('aaa') => 'YWFh'],	[ASCII('aaa') => 'YWFh'],	# from HTTP spec	[ASCII('Aladdin:open sesame') => 'QWxhZGRpbjpvcGVuIHNlc2FtZQ=='],	[ASCII('a') x 100 => 'YWFh' x 33 . 'YQ=='],	[ASCII('Multipurpose Internet Mail Extensions: The Base64 Content-Transfer-Encoding is designed to represent sequences of octets in a form that is not humanly readable. ')	=> "TXVsdGlwdXJwb3NlIEludGVybmV0IE1haWwgRXh0ZW5zaW9uczogVGhlIEJhc2U2NCBDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nIGlzIGRlc2lnbmVkIHRvIHJlcHJlc2VudCBzZXF1ZW5jZXMgb2Ygb2N0ZXRzIGluIGEgZm9ybSB0aGF0IGlzIG5vdCBodW1hbmx5IHJlYWRhYmxlLiA="],    );    for $test (@encode_tests) {	my($plain, $expected) = ($$test[0], $$test[1]);	my $encoded = encode_base64($plain, '');	if ($encoded ne $expected) {	    print "test $testno ($plain): expected $expected, got $encoded\n";            print "not ";	}	my $decoded = decode_base64($encoded);	if ($decoded ne $plain) {	    print "test $testno ($encoded): expected $plain, got $decoded\n";            print "not ";	}	print "ok $testno\n";	$testno++;    }}sub decodeTest{    print "# decode test\n";    local $SIG{__WARN__} = sub { print $_[0] };  # avoid warnings on stderr    my @decode_tests = (	['YWE='   => ASCII('aa')],	[' YWE='  =>  ASCII('aa')],	['Y WE='  =>  ASCII('aa')],	['YWE= '  =>  ASCII('aa')],	["Y\nW\r\nE=" =>  ASCII('aa')],	# These will generate some warnings        ['YWE=====' =>  ASCII('aa')],    # extra padding	['YWE'      =>  ASCII('aa')],    # missing padding        ['YWFh====' =>  ASCII('aaa')],        ['YQ'       =>  ASCII('a')],        ['Y'        => ''],        ['x=='      => ''],        [''         => ''],        [undef()    => ''],    );    for $test (@decode_tests) {	my($encoded, $expected) = ($$test[0], $$test[1]);	my $decoded = decode_base64($encoded);	if ($decoded ne $expected) {	    die "test $testno ($encoded): expected $expected, got $decoded\n";	}	print "ok $testno\n";	$testno++;    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -