[comp.binaries.mac] Macintosh Technical Notes - #171: PackBits Data Format

bytebug@felix.UUCP (Roger L. Long) (12/03/87)

[Macintosh Technical Notes - #171: PackBits Data Format]

This technical note describes the format of data  packed  by  the
toolbox  utility  PackBits.  Normally, you would not need to know
the format of the packed data, since you  can  simply  unpack  it
using  the UnPackBits call.  This information is provided for the
terminally curious, and those manipulating MacPaint documents  by
hand.   WARNING!   This information is provided for informational
purposes only!  It is accurate for now, but  may  change  in  the
future.

---
(This file must be converted with BinHex 4.0)

:$P41-6Fa)&"KBfY#DA4c!&G28N40380"!*!%$TS!!!0"d$3!"J!Q!!)!"!#3!rm
!rrrm!!%!!!k+!"!!%!!!$SS!#!!)!!!1LJ!)!!-!N!0)!%J!N!3#fJ)Srq(riJ,
j!NB$"`8S!r`!!J#3!dJ!5!#3"!,D!LJ!!3#3!f3!N!-"!!'3!`#3!`%R$`!"!!%
!&e&B!"G4j)!M!*!$!J!C!C!!!*!&3!#3'`)!%J!#!")!N!-"!!!+5J"!!!!+*!!
Q!!`!lrrb!)(rmJ%Prj!%!2q3"3!"!*!$!3#3"3%!!!UB!#!!!!U+!!lrmJ!Hrr)
!l2rb!EVrN!B-!!!$!!)!N!-#!*!&!3!!$#S#B!!!#VJ"F[rb!"lrmJ$Xrr)"Z[q
3"3!1!3!9M`35-!F#!!N"kJ-%!*!$#3!S!(N![3'p!K3#&'iJDA-JB@jKE'pRE`!
"$@8!"J!!#J!!&3!jp8(,0mDJp18K$b2c(cIc(`RQpR%!N!-&d2-I#I8'cf[d*bJ
24'*Jp'92E@,`d!!'!!!+!!!9!!%0"J!'!!!-!!!9!*!$"J!!#J%!&3!*!HS$"!#
3!`N!+!"j!6m"[3(P!H9Z)'Pc)'&ZB@a[Cfm!N!-'!!!-!!!$!!N"i3!"!*!$#3&
S"S!!N"9JAj"I$3!'!!!*!!!9!"ldeXFb@,$e3FXhaU$dj5'2#I#3!2m2$3!B!!!
1!3!9!"N1"3!9!"X1!3!9!"`B%3!A!!%0C3!'!!!1!!!@!!re8r8'cfXC#@*[1[$
3!!!'!!!-!!!9!!%0!3!'!!!-!!!@!!%0"J!'!!!-!!!9!!%0r`!'!!!1!!!9!!%
0!!!'!!!-!!!9!!%0"J!'!!!-!!!9!!%0"J!'!!!-!!!9!!%0#3!'!!!1!!!9!#l
`R`Re3FXhaU$dj5%2)r120[dI6@ce"R-Jp%A2GIE4-Jp'92E@,`d!!!B!!!i!!"8
!!3eI!!B!!!i!!"8!B&q3A`d!"J!!#3!!&3!"$3!!"J!!$J!!&3!(#3NY6e)Y$3N
!"J!!$!!!&J!"$88!"J!!$!!!&J!"$38!"J!!$!!!&3!"$3B!"J!!$!!!&3"JAj"
I$3!'!!!*!!!9!$&'0b""33N*1b!S,5JY15NV-5NJ25!a-#"LHA4PFb"[CL"dD'8
JF'&dG'9bEL!N38%0&3!'!!!-!!!@!#e'45""35!`-L!i-#!`-#!b35"'4#""35!
`-b!i-#!`-#!b35!b-L"'0b""33d!!!B!!!`!!"B!+I+J!!$bS!#3"I+J!!$bS!#
3"JmUm0!!!!B!!!`!!"B!-r-2-`mim`$c$c!2-[33mbmbm*m*ml$bMc2bRb[c%22
3md$f,hNKJ&d*H-34)*BQm0!!!!B!!!`!!"B!,29dFL%`pLpjmkm*p$Efd88`p#G
)%2#I6Ppf(fhf)8$c,b`2-I1I120r$3!'!!!1!!!9!#$e-4"UKI1[#I9,%29&@[B
Ppi$e8RTbFBm0!!!'!!!1!!!9!!N"l`!#!*!$#3$6rKm"l`([CA)JDA-JC(*KCfG
TEL!JG!")38%J38%J38%J1$!J-$!J-N%J38%J38%J38%J38%J1$!J-$!J-N%J-M)
J38%J38%J38%J38%J38%J38%J38%J38%J38%J38%0!!B!!!`!!"B!)23G)8$f)A2
fF1E2DaN2B[H3!28'cf[d*bMcV`d!!!B!!!`!!"8!-%C%)%&"#3Nl)#JY+#dc+5X
a+5!p)$3JBRPdCA-JEfBJG'KP)("KG(4PFQiJ*%&"$3!'!!!-!!!@!"cb2c(cIc(
cS!p3E2Dr3R+!p%BQ$dC8pYB[$3!'!!!1!!!9!"8"Ur4R5#!V&""i"JpLpj)3phY
mX)iFIA'!phX5X8"8!e)#X3+a#@*JH!jXpV'I,!Bj"i"UK3+a$&pe-JpLpj)I,Jp
*)(J'!apRBRpf%$pepYpL&!I3jXpV'3mSIbiI,J+a#hpRX2BR)(J)%[+I,Jp*d#X
3YrCl$f*b"i#",b`#X6!VBJaIEHS5%2B[H5%(J'![Ger9J-AfhU(fd6)$pepYpL&
!+f)#'UJ2H9pe#eph$feMpj!!pLpj)B$hF8%1E2DaRbi25G"b"i"JjBFRpf%$pep
YpL&2,!+a-()(J)IfhUpj"Jpk&&$f*S'3!-Ah8b"G#eph$feMpj!!Pia")3PLB2B
[H5'!+a33C"mZ$d06Kj&!+a$9UPphFrC`(hK[EHSI1[$3!!!'!!!-!!!9!1Ee5a$
f,hNKJ2Gh+`+a$p,bVp-2G6N8!V(fd'33+a$&pe-[,pT[C`pLpj)BmZ$e"XpVp#F
S$hGkS&1[H3jXpV!V%*BQ$hHa-#X8%'33mc"8$fe8%-8i(2G5IhB3pLpj)B$hGbX
#X3K[E4#@*[,!8V&2GhJ3FJpUpeJJaHFB!V%*BQ$f,hNK$932B[H5%2+'13DCJ#X
3aIG6)2B[H5(bRbi!!!B!!!`!!"8!-2-2-Jmim`$c$c!2-[3I#I#I1`mSmbmTmVm
a$cd2-`pLpj)B"G#AM%%5#@*[$3!!"J!!$!!!&J!`4N8J38%*#6XJ+#dS,6)T+c%
T)$dJ-b"LHA4PFb"[CL"dD'8JF'&dG'9bEL!N38%0!!B!!!`!!"B"`I9,H!)FXha
U!e)3NBa(pL'!+a$96feL"G#@*JjXpV'3!2B[H3+a!P@[BPpi$h8RTbpj$e"XpVp
#FSmZ$dj8pYDUpjmX$hPIG3phAh@T!e)$%C!!*3pV0IG`+a$96feL"G!V%1E2DaN
*BQmX#(2"$hPIG3aM#(pYk[H3!2G6jXpV"b$h@(2fF#X3p92e"XpVp#FS$'U[,Jp
8Yi"ce8pYBR8`H!j&pfH4N!$93#X3)8pYFfU[H3ch9(Ah@2,!Bj!!+eJ3pYBhlh@
Q*cpR$deXp3Cc)*A2GIE4-S$f,hN,BjmZ!29r3I8[6[5I6[4r)3p8Yi"ce8pYBR8
`H!j&pfH4N!$93(296feLG6DJlh91@"J&1[HI)3p*)(J'c2G8BK$93$AhIb`2B[G
5$fe[H3bf2fF3F`+a$IG5pe3I,[$3!!!B!!!1!!!9!-B1!!!@!0!1!!!9!831!3!
9!*!$!3`-!!%-$!!"$!`!N"d@a4!J!!@3!!!L!*!$$!#3!aG9$#!!!9)!$$)"!!`
!$!!A9&`S!!&H!$Jb!3!-!"J!&X6%)!!"SJ!+-J)!N!-"%"!!N!dA9*!!)!!"f!!
L!*!$%!#3!aG8M#!!!Fi!#LX"!*!$!3X,!!%M)`!"$`m!!3m2!!%2$`!"$`m!!3m
2!!%2$`!"$`m!!3m2!!%,#`!"$`m!!Jq(!!%,#`!"$Ji!!Jk&!!%1$J!"$Ji!!3i
1!!)-JJ!"$Ji!!3i1!!%1$J#3!`%1$J!"$!`!!3`-!!%-$!!"$!`!!3`-!!%-$!!
"$!`!!3`-!!%-$!!"$!`!!3i1!!)1J`#3iaG99#!!!D`!)J#3!`X!N!-@a'`J!!(
k!'Sa!3!M!!X!&e+)+!!#C!!b0!)!$`!Z!"G8S#!!!TB!$#3"!!m!23!A9*JS!!C
N!#3d!3!2!%`!&e5F)!!#dJ!-0!%!$`"E!"G8X#J!"@`!*$3"!!m!DJ!A8V!S!!-
1!$)d!3!2!(N!&e+d)!!$!J!-0!%!$`#)!"G5[#J!"6J!0$3"!!m!P`!A8X3J!!0
!!!`d!3!,!+B!&e,-)!!$6!"U-3%!$`#a!"G5e#!!!lB!$$3"!'N!`!!A9A!S!!M
3!93%!!!,!5N!&XAB)!!$q!"U-3%!$J%d!"G5j#!!!q!!$$-"!%B"3J!A8Z`S!!D
+!5Sc!3!1!BJ!&e,i)!!$l!!--`%!$J'@!"G6!#J!!U)!'$-"!!i"T!!A8`JJ!!'
@!!`c!3!B!E)!&e-3)!!&XJ"5)`%!$J(+!"G6'!!!![B!$$-"!!i"f!#3"J,U!!`
c!3!1!HB!N!3)!!B%!#Bc!3!!!I3!N!B"-!!L)`%!$J(d!*!'!Yi!$$-"!!`#!J#
3"JL@!$SM!3!-!Ji!N!3)!!KH!$JM!3!-!KS!N!B'+J!k)`%!$!)Q!*!%#!!%r!!
m)`%!$!)b!*!'"')!2#-"!!`#2J#3"J+k!!`M!3!-!NS!N!B$`J!5)`%!$!*@!*!
'!p3!$#-"!!`#BJ#3"J5H!$JM!3!-!Qi!N!3)!!6@!#BM!3!1!RS!N!B#aJ!--`%
!+J+)!*!%#!!(Y!#U-`%!!!D)!*!$!J!!$TS!Q)IiYZ`!!!%!N!-#e`!!!GF!N!0
U(!$)L!*62`#3"4!!e!!L!55!!*!'+`$C!$d"$P41-6Fa)&"KBfY#DA4cG!)!N!0
A6e*%68&$33%!!'3!!&G28N40380"!3!!C!$!!*!5RBd&4`!!$TS!!!0"C!#U!(B
""!F#!fd!N!-Q!'3!$!"f!*B!!3%!!!%!N!-#!*!$!3p&ER4TFQ8J4'pMG@ePER3
!N!-J!'3!UJ"f!33!!!%!!!%!N!-#!*!$!3P8CAKd)%pZE(N!!!%!!!%!N!-#J!!
!"%!!!!JJ!!!3%!!!)JJ!!%5%!!#*!J!"!%%!!J#3!b!Z,$XN!!$3!!![rf!J38d
!)&"0!$S!N!S"!!!"6!p6G@jNBAN!N!N26@pZC'&j!*!*$e4eCA0NBAN!N!J29f9
NEQ9cC'&j!*!'$e4SGA*cC'&j!*!($dCbD@4KH3#3#3p6BA4eFQ4KH3#3"`p+B@j
eBA*j!*!)$dCPBR*eBA*j!*!($deKFQ0S!*!+$d&`FQPX!*!+$deKH3#3$!p+G@j
P!*!,$dTeE(N!N!X23A9RGA0d!*!*$e0PF(4PE@*PFJ#3"Jp2Bh4[BQ9b!*!)$dj
[GQ9YBQ9b!*!($d4PBf9YBQ9b!*!(rrm!!`#3"#`J!!!J!*!$,#!!N!F"6R8!N!-
B!!X!&`!@!"8!&!#3!`-!!J!%!!8!"J!(!*!$%!mJCA4ZFQpKDA0NE'KMCR!!N!-
[!!m!)3!1!*!$&J!$!"8!"!!2!#)!%!!A!"3!"3!5!!dq2J3rN!-&2T!$2cm)2Mi
!!!%!N!-#e`!!!GF!N!0U!"B[V!Hi!*!$(!"U!!&*6P4-!!%!%P088L!!!J!U!!$
rrb!!N!J"rrmJ!!!N!*!%!b$rr`!!!A3!N!3#[2rr!!!"N!!!N!3$)Irr!!!"T!!
A9B`Sp`:
---