Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: CIAUUU

CIAUUU.m

Go to the documentation of this file.
CIAUUU ;MSC/IND/DKM - UUEncode and UUDecode functions.;04-May-2006 08:19;DKM
 ;;1.2;CIA UTILITIES;;Mar 20, 2007
 ;;Copyright 2000-2006, Medsphere Systems Corporation
 ;=================================================================
ENCODE(X) ;
 N CIAZ,CIAZ1,CIAZ2,CIAZ3,CIAZ4,CIAZ5,CIAZ6
 S CIAZ=$$INIT,CIAZ1=""
 F CIAZ2=1:3:$L(X) D
 .S CIAZ3=0,CIAZ6=""
 .F CIAZ4=0:1:2 D
 ..S CIAZ5=$A(X,CIAZ2+CIAZ4),CIAZ3=CIAZ3*256+$S(CIAZ5<0:0,1:CIAZ5)
 .F CIAZ4=1:1:4 S CIAZ6=$E(CIAZ,CIAZ3#64+2)_CIAZ6,CIAZ3=CIAZ3\64
 .S CIAZ1=CIAZ1_CIAZ6
 S CIAZ2=$L(X)#3
 S:CIAZ2 CIAZ3=$L(CIAZ1),$E(CIAZ1,CIAZ3-2+CIAZ2,CIAZ3)=$E("==",CIAZ2,2)
 Q CIAZ1
DECODE(X) ;
 N CIAZ,CIAZ1,CIAZ2,CIAZ3,CIAZ4,CIAZ5,CIAZ6
 S CIAZ=$$INIT,CIAZ1=""
 F CIAZ2=1:4:$L(X) D
 .S CIAZ3=0,CIAZ6=""
 .F CIAZ4=0:1:3 D
 ..S CIAZ5=$F(CIAZ,$E(X,CIAZ2+CIAZ4))-3
 ..S CIAZ3=CIAZ3*64+$S(CIAZ5<0:0,1:CIAZ5)
 .F CIAZ4=0:1:2 S CIAZ6=$C(CIAZ3#256)_CIAZ6,CIAZ3=CIAZ3\256
 .S CIAZ1=CIAZ1_CIAZ6
 Q $E(CIAZ1,1,$L(CIAZ1)-$L(X,"=")+1)
INIT() Q "=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"