Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <html>
- <head>
- <script type="text/javascript">
- function h2d(h) { return parseInt(h,16); }
- function d2h(d) { return d.toString(16); }
- function decodeUsername(form) {
- var SUV = new Array();
- SUV[1]=h2d('32');
- SUV[2]=h2d('0A');
- SUV[3]=h2d('B9');
- SUV[4]=h2d('16');
- SUV[5]=h2d('8C');
- SUV[6]=h2d('59');
- SUV[7]=h2d('7E');
- SUV[8]=h2d('A3');
- var PWD = new Array();
- var Ldecoded = 0;
- form.sectorContents.value = form.sectorContents.value.split(' ').join('');
- form.out.value = '';
- for (var i=1;i<9;i++){
- var LByte = form.sectorContents.value.slice(i*2,i*2+2);
- if (i >=3 && i<=6) {
- PWD[i-3] = h2d(LByte);
- }
- if (h2d(LByte) >= SUV[i]) {
- Ldecoded = d2h(h2d(LByte) - SUV[i]);
- } else {
- Ldecoded = d2h((h2d(LByte)+h2d('100')) - SUV[i]);
- }
- form.out.value += h2e(Ldecoded);
- }
- form.out.value += ' / ';
- var SPV = new Array();
- SPV[0] = h2d("B9");
- SPV[1] = h2d("16");
- SPV[2] = h2d("8C");
- SPV[3] = h2d("59");
- for (i=11;i < 15;i++) {
- LByte = form.sectorContents.value.slice(i*2,i*2+2);
- if (h2d(LByte) >= PWD[i-11]) {
- Ldecoded = h2d(LByte) - PWD[i-11];
- } else {
- Ldecoded = h2d(LByte)+h2d('100') - PWD[i-11];
- }
- if (Ldecoded >= h2d(SPV[i-11])) {
- Ldecoded = Ldecoded - SPV[i-11];
- } else {
- Ldecoded = Ldecoded+h2d('100') - SPV[i-11];
- }
- form.out.value += h2e(d2h(Ldecoded));
- }
- }
- function h2e(hexbyte) {
- ebcdic = '.';
- switch(hexbyte.toUpperCase()) {
- case '00': ebcdic = '<NUL>'; break;
- case '01': ebcdic = '<SOH>'; break;
- case '02': ebcdic = '<STX>'; break;
- case '03': ebcdic = '<ETX>'; break;
- case '04': ebcdic = '<SEL>'; break;
- case '05': ebcdic = '<HT>' ; break;
- case '06': ebcdic = '<RNL>'; break;
- case '07': ebcdic = '<DEL>'; break;
- case '08': ebcdic = '<GE>' ; break;
- case '09': ebcdic = '<SPS>'; break;
- case '0A': ebcdic = '<RPT>'; break;
- case '0B': ebcdic = '<VT>' ; break;
- case '0C': ebcdic = '<FF>' ; break;
- case '0D': ebcdic = chr(13); break;
- case '0E': ebcdic = '<SO>' ; break;
- case '0F': ebcdic = '<SI>' ; break;
- case '10': ebcdic = '<DLE>'; break;
- case '11': ebcdic = '<DC1>'; break;
- case '12': ebcdic = '<DC2>'; break;
- case '13': ebcdic = '<DC3>'; break;
- case '14': ebcdic = '<RES/ENP>'; break;
- case '15': ebcdic = '<NL>' ; break;
- case '16': ebcdic = '<BS>' ; break;
- case '17': ebcdic = '<POC>'; break;
- case '18': ebcdic = '<CAN>'; break;
- case '19': ebcdic = '<EM>' ; break;
- case '1A': ebcdic = '<UBS>'; break;
- case '1B': ebcdic = '<CU1>'; break;
- case '1C': ebcdic = '<IFS>'; break;
- case '1D': ebcdic = '<IGS>' ; break;
- case '1E': ebcdic = '<IRS>'; break;
- case '1F': ebcdic = '<ITB/IUS>'; break;
- case '20': ebcdic = '<DS>' ; break;
- case '21': ebcdic = '<SOS>'; break;
- case '22': ebcdic = '<FS>' ; break;
- case '23': ebcdic = '<WUS>'; break;
- case '24': ebcdic = '<BYP/INP>'; break;
- case '25': ebcdic = '<LF>' ; break;
- case '26': ebcdic = '<ETB>'; break;
- case '27': ebcdic = '<ESC>'; break;
- case '28': ebcdic = '<SA>' ; break;
- case '29': ebcdic = '<SFE>'; break;
- case '2A': ebcdic = '<SM/SW>'; break;
- case '2B': ebcdic = '<CSP>'; break;
- case '2C': ebcdic = '<MFA>'; break;
- case '2D': ebcdic = '<ENQ>'; break;
- case '2E': ebcdic = '<ACK>'; break;
- case '2F': ebcdic = '<BEL>'; break;
- case '30': break;
- case '31': break;
- case '32': ebcdic = '<SYN>'; break;
- case '33': ebcdic = '<IR>' ; break;
- case '34': ebcdic = '<PP>' ; break;
- case '35': ebcdic = '<TRN>'; break;
- case '36': ebcdic = '<NBS>'; break;
- case '37': ebcdic = '<EOT>'; break;
- case '38': ebcdic = '<SBS>'; break;
- case '39': ebcdic = '<IT>' ; break;
- case '3A': ebcdic = '<RFF>'; break;
- case '3B': ebcdic = '<CU3>'; break;
- case '3C': ebcdic = '<DC4>'; break;
- case '3D': ebcdic = '<NAK>'; break;
- case '3E': break;
- case '3F': ebcdic = '<SUB>'; break;
- case '40': ebcdic = ' ' ; break;
- case '41': ebcdic = '<RSP>'; break;
- case '42': break;
- case '43': break;
- case '44': break;
- case '45': break;
- case '46': break;
- case '47': break;
- case '48': break;
- case '49': break;
- case '4A': ebcdic = '['; break;
- case '4B': ebcdic = '.'; break;
- case '4C': ebcdic = '<'; break;
- case '4D': ebcdic = '('; break;
- case '4E': ebcdic = '+'; break;
- case '4F': ebcdic = '|'; break;
- case '50': ebcdic = '&'; break;
- case '51': break;
- case '52': break;
- case '53': break;
- case '54': break;
- case '55': break;
- case '56': break;
- case '57': break;
- case '58': break;
- case '59': break;
- case '5A': ebcdic = '!'; break;
- case '5B': ebcdic = '$'; break;
- case '5C': ebcdic = '*'; break;
- case '5D': ebcdic = ')'; break;
- case '5E': ebcdic = ';'; break;
- case '5F': ebcdic = '^'; break;
- case '60': ebcdic = '_'; break;
- case '61': ebcdic = '/'; break;
- case '62': break;
- case '63': break;
- case '64': break;
- case '65': break;
- case '66': break;
- case '67': break;
- case '68': break;
- case '69': break;
- case '6A': ebcdic = '|'; break;
- case '6B': ebcdic = ','; break;
- case '6C': ebcdic = '%'; break;
- case '6D': ebcdic = '_'; break;
- case '6E': ebcdic = '>'; break;
- case '6F': ebcdic = '?'; break;
- case '70': break;
- case '71': break;
- case '72': break;
- case '73': break;
- case '74': break;
- case '75': break;
- case '76': break;
- case '77': break;
- case '78': break;
- case '79': ebcdic = '`'; break;
- case '7A': ebcdic = ':'; break;
- case '7B': ebcdic = '#'; break;
- case '7C': ebcdic = '@'; break;
- case '7D': ebcdic = "'"; break;
- case '7E': ebcdic = '='; break;
- case '7F': ebcdic = '"'; break;
- case '80': break;
- case '81': ebcdic = 'a'; break;
- case '82': ebcdic = 'b'; break;
- case '83': ebcdic = 'c'; break;
- case '84': ebcdic = 'd'; break;
- case '85': ebcdic = 'e'; break;
- case '86': ebcdic = 'f'; break;
- case '87': ebcdic = 'g'; break;
- case '88': ebcdic = 'h'; break;
- case '89': ebcdic = 'i'; break;
- case '8A': break;
- case '8B': ebcdic = '{'; break;
- case '8C': break;
- case '8D': break;
- case '8E': break;
- case '8F': ebcdic = '+'; break;
- case '90': break;
- case '91': ebcdic = 'j'; break;
- case '92': ebcdic = 'k'; break;
- case '93': ebcdic = 'l'; break;
- case '94': ebcdic = 'm'; break;
- case '95': ebcdic = 'n'; break;
- case '96': ebcdic = 'o'; break;
- case '97': ebcdic = 'p'; break;
- case '98': ebcdic = 'q'; break;
- case '99': ebcdic = 'r'; break;
- case '9A': break;
- case '9B': ebcdic = '}'; break;
- case '9C': break;
- case '9D': break;
- case '9E': break;
- case '9F': break;
- case 'A0': break;
- case 'A1': ebcdic = '~'; break;
- case 'A2': ebcdic = 's'; break;
- case 'A3': ebcdic = 't'; break;
- case 'A4': ebcdic = 'u'; break;
- case 'A5': ebcdic = 'v'; break;
- case 'A6': ebcdic = 'w'; break;
- case 'A7': ebcdic = 'x'; break;
- case 'A8': ebcdic = 'y'; break;
- case 'A9': ebcdic = 'z'; break;
- case 'AA': break;
- case 'AB': break;
- case 'AC': break;
- case 'AD': ebcdic = '['; break;
- case 'AE': break;
- case 'AF': break;
- case 'B0': break;
- case 'B1': break;
- case 'B2': break;
- case 'B3': break;
- case 'B4': break;
- case 'B5': break;
- case 'B6': break;
- case 'B7': break;
- case 'B8': break;
- case 'B9': break;
- case 'BA': break;
- case 'BB': break;
- case 'BC': break;
- case 'BD': break;
- case 'BE': break;
- case 'BF': break;
- case 'C0': ebcdic = '{'; break;
- case 'C1': ebcdic = 'A'; break;
- case 'C2': ebcdic = 'B'; break;
- case 'C3': ebcdic = 'C'; break;
- case 'C4': ebcdic = 'D'; break;
- case 'C5': ebcdic = 'E'; break;
- case 'C6': ebcdic = 'F'; break;
- case 'C7': ebcdic = 'G'; break;
- case 'C8': ebcdic = 'H'; break;
- case 'C9': ebcdic = 'I'; break;
- case 'CA': break;
- case 'CB': break;
- case 'CC': break;
- case 'CD': break;
- case 'CE': break;
- case 'CF': break;
- case 'D0': ebcdic = '}'; break;
- case 'D1': ebcdic = 'J'; break;
- case 'D2': ebcdic = 'K'; break;
- case 'D3': ebcdic = 'L'; break;
- case 'D4': ebcdic = 'M'; break;
- case 'D5': ebcdic = 'N'; break;
- case 'D6': ebcdic = 'O'; break;
- case 'D7': ebcdic = 'P'; break;
- case 'D8': ebcdic = 'Q'; break;
- case 'D9': ebcdic = 'R'; break;
- case 'DA': break;
- case 'DB': break;
- case 'DC': break;
- case 'DD': break;
- case 'DE': break;
- case 'DF': break;
- case 'E0': ebcdic = '\\'; break;
- case 'E1': break;
- case 'E2': ebcdic = 'S'; break;
- case 'E3': ebcdic = 'T'; break;
- case 'E4': ebcdic = 'U'; break;
- case 'E5': ebcdic = 'V'; break;
- case 'E6': ebcdic = 'W'; break;
- case 'E7': ebcdic = 'X'; break;
- case 'E8': ebcdic = 'Y'; break;
- case 'E9': ebcdic = 'Z'; break;
- case 'EA': break;
- case 'EB': break;
- case 'EC': break;
- case 'ED': break;
- case 'EE': break;
- case 'EF': break;
- case 'F0': ebcdic = '0'; break;
- case 'F1': ebcdic = '1'; break;
- case 'F2': ebcdic = '2'; break;
- case 'F3': ebcdic = '3'; break;
- case 'F4': ebcdic = '4'; break;
- case 'F5': ebcdic = '5'; break;
- case 'F6': ebcdic = '6'; break;
- case 'F7': ebcdic = '7'; break;
- case 'F8': ebcdic = '8'; break;
- case 'F9': ebcdic = '9'; break;
- case 'FA': break;
- case 'FB': break;
- case 'FC': break;
- case 'FD': break;
- case 'FE': break;
- case 'FF': break;
- default : ebcdic = '<<UNHANDLED CODE>>'; break;
- }
- return ebcdic;
- }
- </script>
- </head>
- <form>
- IBM System/36 sector:<br><input name=sectorContents type="text" size=48 maxlength=48 onChange="decodeUsername(this.form)">
- <input onclick="decodeUsername(this.form)" value="decode" type="button" />
- <br>
- <textarea name=out nowrap rows=1 cols=30 style="font-family:Courier;font-size:16px"></textarea>
- </form>
- </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement