Newsgroups: fj.net.infosystems.www,fj.kanji,fj.unix
Path: galaxy.trc.rwcp.or.jp!coconuts.jaist!wnoc-tyo-news!spinnews!spin-hsd0-tky!news-relay.jpn!yan.hp.com!hpujjpo!hpscit.sc.hp.com!sdd.hp.com!swrinde!cs.utexas.edu!news.sprintlink.net!news.gdbnet.ad.jp!sinetnews!eclnews!news.ipc.chiba-u!news.tj.chiba-u!asada
From: asada@ics.tj.chiba-u.ac.jp (Takuya Asada)
Subject: binary encoder (Re: MIME.)
Message-ID: <DCsCn0.6Fu@ics.tj.chiba-u.ac.jp>
Followup-To: fj.unix
Sender: usenet@ics.tj.chiba-u.ac.jp
Nntp-Posting-Host: icsj6.tj.chiba-u.ac.jp
Organization: Chiba-University
References: <3vs3vj$dl9@exa.onlab.ntt.jp>
Date: Fri, 4 Aug 1995 12:13:47 GMT
Lines: 68
Xref: galaxy.trc.rwcp.or.jp fj.net.infosystems.www:172 fj.kanji:1865 fj.unix:1952
X-originally-archived-at: http://galaxy.rwcp.or.jp/text/cgi-bin/newsarticle2?ng=fj.unix&nb=1952&hd=a
X-reformat-date: Mon, 18 Oct 2004 15:18:22 +0900
X-reformat-comment: Tabs were expanded into 4 column tabstops by the Galaxy's archiver. See http://katsu.watanabe.name/ancientfj/galaxy-format.html for more info.

$B$"$5$@$J$N$G$9!#(B

$BA4A3(B www $B$G$b(B kanji $B$G$b$J$$OC$J$N$G!"(Bfj.unix $B$K%U$k$3$H$K$7$^$7$?!#(B
Followup-To: fj.unix $B$G$9!JB3$/OCBj$G$b$J$5$=$&$G$9$,!D(B ^^;$B!K!#(B

$B<i2,$5$s(B>
>   $B;d$O(B uuencode $B$K$D$$$F$O$"$s$^$j>\$7$/$J$$$N$G$9$,!"(BBase64 $B$N>l9g!"(B
> $BI,$:85$N(B size $B$N(B 4/3 $BG\$K$J$j$^$9!#$b$C$H$b!"IaDL(B 76 $B9T0JFb$K$9$Y$/2~(B
> $B9T$9$k$N$G<c43(B size $B$,A}$($^$9!#(B

$B$"$5$@(B>
> $B$A$J$_$K(B uuencode $B$bF1$8$/(B 4/3 $BG\$K$J$k$G$9!#EvA3!"9TF,$K%P%$%H?t$r(B
> $BI=$9J8;z$H2~9TJ8;z$,IU$-$^$9$N$G!"$4$/IaDL$N(B uuencode $B$@$H!"0l9T(B 60
> $B;z!J#4#5%P%$%H!K$K$J$C$F$$$k$b$N$,%[%H%s%I$J$N$G!"$=$NJ,Bg$-$/$J$k(B
> $B$o$1$G$9!#(B

$B9%4q?4$G!"$A$g$C$H(B Mac $B$N(B BinHex $B$bD4$Y$F$_$^$7$?$,!"$d$C$Q$j(B 4/3 $BG\(B
$B!\9TKv%3!<%I$G$7$?!#(Bish $B$O$A$g$C$H<j85$K$J$$$N$GD4$Y$F$^$;$s$G$9$,!"(B
$BB?J,%A%'%C%/$J$s$+$,F~$C$F$$$kJ,!"$A$g$C$HBg$-$/$J$k$s$G$7$g$&$M!#(B

# $B$=$N$+$o$j!"(Bish $B$O$+$J$j(B robust $B$G$9$M!#(B

wataru $B$5$s(B>
>         Base64 decoder $B$G$O4V$K6u9T$,F~$C$F$$$F$bLdBj$J$/(B decode $B$G$-$k(B
> $B$H$$$&$H$3$m$G$9!#(Buu{en,de}code$B$G$O$G$-$J$$$N$G$7$?$C$1!)(B
> $B$H$$$&5?Ld$G$9!#(B

$BIaDL$N!JBg35$N#O#S$KIUB0$N!K(Buudecode $B$@$H!"6u9T$,F~$C$?$@$1$G$b%@%a(B
$B$G$9$M!#$H$$$&Lu$G%$%m%$%m$H%Q%o!<%"%C%W$5$l$?(B uudecoder $B$,:n$i$l$F(B
$B$$$k$G$9!#(B

$B$A$g$&$I!"$D$$:G6a(B fj.sources.d $B$G$bOCBj$K$J$C$F$$$F!"=ULZ!wC^GHBg(B
$B$5$s$,%5%^%j$rEj9F$J$5$C$F$$$^$9!#>\$7$/$O$=$A$i$r;2>H$H$$$&$3$H$G!#(B
(Message-ID: <1995Jul27.170002.11637@is.tsukuba.ac.jp>)

$B$D$$$G$J$N$G!"$J$s$H$J$/:n$C$F$7$^$C$?(B perl $BHG(B uudecode $B$rIU$1$A$c(B
$B$$$^$9!#$$$i$s9T$,F~$C$F$$$F$b!"$1$C$3!<Bg>fIW$G$9!#(B

--
$B$"$5$@(B $B$?$/$d!w3X8&%9%j!<%(!<%7%9%F%`%:(B  ($B@iMUBg4V<Z$jCf(B ^^;)

--
#!/usr/local/bin/perl

while (<>) {
if (/^begin (\d+) (\S+)/) {
$mode = $1;
$name = $2;
last;
}
}
(defined $name) || die "No begin line\n";
($mode !~ /^\d{3}$/) && ($mode = "755");

open(F, "> $name") || die $!;
while (<>) {
last if (/^end/);
$l = (unpack("c", $_) - 32) * 4 / 3 + 2;
if ($l == length($_) || $_ eq "`\n"
|| int($l + 2 / 3 + 1) == length($_)) {
print F unpack("u", $_);

}
}
close(F);
chmod(oct($mode), $name);


