Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
EBCDIC conversion
Message
From
08/04/2002 15:10:43
John Deupree
Long Term Care Authority
Tulsa, Oklahoma, United States
 
 
To
08/04/2002 14:37:13
General information
Forum:
Visual FoxPro
Category:
Other
Miscellaneous
Thread ID:
00642188
Message ID:
00642323
Views:
17
Gregory,

Thanks for the help.

John

>>I am looking for a ASCII to EBCDIC conversion routine. I found one in message #435048 but I don't understand the code in function fTranslate. Is something missing from the code or am I missing something?
>>
>>TIA
>>
>>John
>
>John,
>
>Here are the ones I use. Comprehensible, I hope
>
>You can change the conversion table to suit your needs
>
>
>*---------------------------------------------------------------------------
>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
>*---------------------------------------------------------------------
>
Previous
Reply
Map
View

Click here to load this message in the networking platform