>*--------------------------------------------------------------------------- >function asc2ebc(x) && Convert ASCII to EBCDIC > if( type('_ebcdic_') <> T_CHARACTER ) > =Make_ascii_ebcdic() > endif > > return chrtran(x, _ascii_, _ebcdic_) >endfunc >*----------------------------------------------------------------- >function ebc2asc(x) && Convert EBCDIC to ASCII > if( type('_ascii_') <> T_CHARACTER ) > =Make_ascii_ebcdic() > endif > > return chrtran(x, _ebcdic_, _ascii_) >endfunc >*---------------------------------------------------------------------------- >function Make_ascii_ebcdic() > release _ascii_, _ebcdic_ > public _ascii_, _ebcdic_ > > local i > _ebcdic_ = '' > > for i = 0 to 255 > _ebcdic_ = _ebcdic_ + chr(i) > endfor > > _ascii_ = '000102039C09867F978D8E0B0C0D0E0F' ; > + '101112139D8508871819928F1C1D1E1F' ; > + '80818283840A171B88898A8B8C050607' ; > + '909116939495960498999A9B14159E1A' ; > + '20A0E2E4E0E1E3E5E7F1A22E3C282B7C' ; > + '26E9EAEBE8EDEEEFECDF21242A293B5E' ; > + '2D2FC2C4C0C1C3C5C7D1A62C255F3E3F' ; > + 'F8C9CACBC8CDCECFCC603A2340273D22' ; > + 'D8616263646566676869ABBBF0FDFEB1' ; > + 'B06A6B6C6D6E6F707172AABAE6B8C6A4' ; > + 'B57E737475767778797AA1BFD05BDEAE' ; > + 'ACA3A5B7A9A7B6BCBDBEDDA8AF5DB4D7' ; > + '7B414243444546474849ADF4F6F2F3F5' ; > + '7D4A4B4C4D4E4F505152B9FBFCF9FAFF' ; > + '5CF7535455565758595AB2D4D6D2D3D5' ; > + '30313233343536373839B3DBDCD9DA9F' > > *_ascii_ = '00010203EC09CA7FE2D2D30B0C0D0EA9' ; > + '10111213EFC508CB1819DCD81C1D1E1F' ; > + 'B7B8B9BBC40A171BCCCDCFD0D1050607' ; > + 'D9DA16DDDEDFE004E3E5E9EBB0B19E1A' ; > + '20C9038485A0F28687A49B2E3C282B7C' ; > + '268288898AA10C0B8DE121242A293B5E' ; > + '2D2FB28EB4B5B68F80A5B32C255F3E3F' ; > + 'BA90BCBDBEF3C0C1C2603A2340273D22' ; > + 'C3616263646566676869AEAFC6C7C8F1' ; > + 'F86A6B6C6D6E6F707172A6A791CE920F' ; > + 'E67E737475767778797AADA8D45BD6D7' ; > + 'AA9C9DFA9F1514ACABFCD5FEE45DBFE7' ; > + '7B414243444546474849E8939495A2ED' ; > + '7D4A4B4c4D4E4F505152EE968197A398' ; > + '5CF0535455565758595AFDF599F7F6F9' ; > + '30313233343536373839DBFB9AF4EAFF' ; > > *_ascii_ = '000102039C09867F978D8E0B0C0D0E0F' ; > + '101112139D8508871819928F1C1D1E1F' ; > + '80818283840A171B88898A8B8C050607' ; > + '909116939495960498999A9B14159E1A' ; > + '20A0A1A2A3A4A5A6A7A8D52E3C282B7C' ; > + '26A9AAABACADAEAFB0B121242A293B7E' ; > + '2D2FB2B3B4B5B6B7B8B9CB2C255F3E3F' ; > + 'BABBBCBDBEBFC0C1C2603A2340273D22' ; > + 'C3616263646566676869C4C5C6C7C8C9' ; > + 'CA6A6B6C6D6E6F7071725ECCCDCECFD0' ; > + 'D1E5737475767778797AD2D3D45BD6D7' ; > + 'D8D9DADBDCDDDEDFE0E1E2E3E45DE6E7' ; > + '7B414243444546474849E8E9EAEBECED' ; > + '7D4A4B4C4D4E4F505152EEEFF0F1F2F3' ; > + '5C9F535455565758595AF4F5F6F7F8F9' ; > + '30313233343536373839FAFBFCFDFEFF' > > > > _ascii_ = hta(_ascii_) > >endfunc >*---------------------------------------------------------------------------- >function ath(x) > local out, i > out = '' > for i = 1 to len(x) > out = out + right(transform(asc(substr(x,i,1)),'@0'),2) > endfor > return out >endfunc >*--------------------------------------------------------------------- >function hta(x) > local out, i > out = '' > for i = 1 to len(x) step 2 > out = out + chr( ; > 16*atc(substr(x,i,1),'0123456789abcdef') + ; > atc(substr(x,i+1,1),'0123456789abcdef') -17 ; > ) > endfor > return out >endfunc >*--------------------------------------------------------------------- >