Source: http://support.microsoft.com/support.../Q216/3/99.ASP
Code:
#Compile Exe #Register None #Dim All Function HexToStr(HexStr As Asciiz) As String Dim Temp As String, I As Long Temp = Space$(Len(HexStr) \ 2) For i = 1 To Len(HexStr) \ 2 Mid$(Temp, i, 1) = Chr$(Val("&H" & Mid$(HexStr, i * 2 - 1, 2))) Next I Function = Temp End Function Function Translate(InText As String, xlatTable As String * 256) As String Dim Temp As String, i As Long Temp = Space$(Len(InText)) For I = 1 To Len(InText) Mid$(Temp, I, 1) = Mid$(xlatTable, Asc(InText, i) + 1, 1) Next Function = Temp End Function Function PbMain Dim ASCII_To_EBCDIC_Table As String * 256 ASCII_To_EBCDIC_Table = HexToStr _ ("00010203372D2E2F1605250B0C0D0E0F101112133C3D322618193F271C1D1E1F" + _ "405A7F7B5B6C507D4D5D5C4E6B604B61F0F1F2F3F4F5F6F7F8F97A5E4C7E6E6F" + _ "7CC1C2C3C4C5C6C7C8C9D1D2D3D4D5D6D7D8D9E2E3E4E5E6E7E8E9ADE0BD5F6D" + _ "79818283848586878889919293949596979899A2A3A4A5A6A7A8A9C04FD0A107" + _ "202122232415061728292A2B2C090A1B30311A333435360838393A3B04143EE1" + _ "4142434445464748495152535455565758596263646566676869707172737475" + _ "767778808A8B8C8D8E8F909A9B9C9D9E9FA0AAABAC4AAEAFB0B1B2B3B4B5B6B7" + _ "B8B9BABBBC6ABEBFCACBCCCDCECFDADBDCDDDEDFEAEBECEDEEEFFAFBFCFDFEFF") Dim EBCDIC_To_ASCII_Table As String * 256 EBCDIC_To_ASCII_Table = HexToStr _ ("000102039C09867F978D8E0B0C0D0E0F101112139D8508871819928F1C1D1E1F" + _ "80818283840A171B88898A8B8C050607909116939495960498999A9B14159E1A" + _ "20A0A1A2A3A4A5A6A7A8D52E3C282B7C26A9AAABACADAEAFB0B121242A293B5E" + _ "2D2FB2B3B4B5B6B7B8B9E52C255F3E3FBABBBCBDBEBFC0C1C2603A2340273D22" + _ "C3616263646566676869C4C5C6C7C8C9CA6A6B6C6D6E6F707172CBCCCDCECFD0" + _ "D17E737475767778797AD2D3D45BD6D7D8D9DADBDCDDDEDFE0E1E2E3E45DE6E7" + _ "7B414243444546474849E8E9EAEBECED7D4A4B4C4D4E4F505152EEEFF0F1F2F3" + _ "5C9F535455565758595AF4F5F6F7F8F930313233343536373839FAFBFCFDFEFF") Dim i As Long, sEBCDIC As String For i = 1 To 4 Select Case i Case 1: sEBCDIC$ = HexToStr("40404040404040404040404040C3C8D9C9E240D3C5C540404040404040") Case 2: sEBCDIC$ = HexToStr("40404040404040404040404040C7D3C5D5D6C1D2E240C1D7C1D9E3D4C5") Case 3: sEBCDIC$ = HexToStr("40404040404040404040404040D7D640C2D6E740F7F4F0F54040404040") Case 4: sEBCDIC$ = HexToStr("40404040404040404040404040D3C1C7E4D5C140D5C9C7E4C5D3404040") End Select MsgBox Translate(sEBCDIC$, EBCDIC_To_ASCII_Table) Next End Function
Comment