1
Coding / Anyone know what's wrong with this? [JavaScript]
« on: March 30, 2007, 11:16:33 pm »
I've been working on this weird-ass program that makes a webpage that displays a string you input in Hex and Binary. Don't ask me why, because I don't even know. I'm pretty much just doing it to kill time. Anyway, for some reason the html page it's generating isn't working. I've looked over it again and again, and it looks pretty much the same as my hand-coded version (which works o.x)... I can't tell what's wrong. I was hoping one of you kind gentlemen could try and spot it for me ^^;
Here's the crap version:
...and here's the version that works
If anyone wants it, I can also post the source file (C++) of the program I used to generate the non-working html file, although I don't think that would be necessary. Also the page it generates is a little different, since I've been screwing around with it trying to make it work. Thanks in advance!
EDIT: Forgot to say, the problem seems to be in the Char2Byte function.
Here's the crap version:
Code: [Select]
<!-- This page was auto-generated. ~Killa B -->
<html>
<head>
<script type='text/javascript'>
function Byte2Hex(char)
{
var value = ' ';
var hex0 = new Array();
hex0[0] = '0';
hex0[1] = '1';
hex0[2] = '2';
hex0[3] = '3';
hex0[4] = '4';
hex0[5] = '5';
hex0[6] = '6';
hex0[7] = '7';
hex0[8] = '8';
hex0[9] = '9';
hex0[10] = 'A';
hex0[11] = 'B';
hex0[12] = 'C';
hex0[13] = 'D';
hex0[14] = 'E';
hex0[15] = 'F';
value += hex0[Math.floor(char/16)];
value += hex0[char%16];
return value;
}
function Byte2Bin(char)
{
var value = ' ';
for (i=128;i>=1;i/=2)
{
if (char>=i)
{
value += '1'; char -= i;
}
else
{
value += '0';
}
}
return value;
}
function Char2Byte(char)
{
var value=0;
switch (char)
{
case (' '): { value = 0; break; }
case (''): { value = 1; break; }
case (''): { value = 2; break; }
case (''): { value = 3; break; }
case (''): { value = 4; break; }
case (''): { value = 5; break; }
case (''): { value = 6; break; }
case (''): { value = 7; break; }
case (''): { value = 8; break; }
case (' '): { value = 9; break; }
case (''): { value = 11; break; }
case (''): { value = 12; break; }
case ('
'): { value = 13; break; }
case (''): { value = 14; break; }
case (''): { value = 15; break; }
case (''): { value = 16; break; }
case (''): { value = 17; break; }
case (''): { value = 18; break; }
case (''): { value = 19; break; }
case (''): { value = 20; break; }
case (''): { value = 21; break; }
case (''): { value = 22; break; }
case (''): { value = 23; break; }
case (''): { value = 24; break; }
case (''): { value = 25; break; }
case (''): { value = 26; break; }
case (''): { value = 27; break; }
case (''): { value = 28; break; }
case (''): { value = 29; break; }
case (''): { value = 30; break; }
case (''): { value = 31; break; }
case (' '): { value = 32; break; }
case ('!'): { value = 33; break; }
case ('"'): { value = 34; break; }
case ('#'): { value = 35; break; }
case ('$'): { value = 36; break; }
case ('%'): { value = 37; break; }
case ('&'): { value = 38; break; }
case ('''): { value = 39; break; }
case ('('): { value = 40; break; }
case (')'): { value = 41; break; }
case ('*'): { value = 42; break; }
case ('+'): { value = 43; break; }
case (','): { value = 44; break; }
case ('-'): { value = 45; break; }
case ('.'): { value = 46; break; }
case ('/'): { value = 47; break; }
case ('0'): { value = 48; break; }
case ('1'): { value = 49; break; }
case ('2'): { value = 50; break; }
case ('3'): { value = 51; break; }
case ('4'): { value = 52; break; }
case ('5'): { value = 53; break; }
case ('6'): { value = 54; break; }
case ('7'): { value = 55; break; }
case ('8'): { value = 56; break; }
case ('9'): { value = 57; break; }
case (':'): { value = 58; break; }
case (';'): { value = 59; break; }
case ('<'): { value = 60; break; }
case ('='): { value = 61; break; }
case ('>'): { value = 62; break; }
case ('?'): { value = 63; break; }
case ('@'): { value = 64; break; }
case ('A'): { value = 65; break; }
case ('B'): { value = 66; break; }
case ('C'): { value = 67; break; }
case ('D'): { value = 68; break; }
case ('E'): { value = 69; break; }
case ('F'): { value = 70; break; }
case ('G'): { value = 71; break; }
case ('H'): { value = 72; break; }
case ('I'): { value = 73; break; }
case ('J'): { value = 74; break; }
case ('K'): { value = 75; break; }
case ('L'): { value = 76; break; }
case ('M'): { value = 77; break; }
case ('N'): { value = 78; break; }
case ('O'): { value = 79; break; }
case ('P'): { value = 80; break; }
case ('Q'): { value = 81; break; }
case ('R'): { value = 82; break; }
case ('S'): { value = 83; break; }
case ('T'): { value = 84; break; }
case ('U'): { value = 85; break; }
case ('V'): { value = 86; break; }
case ('W'): { value = 87; break; }
case ('X'): { value = 88; break; }
case ('Y'): { value = 89; break; }
case ('Z'): { value = 90; break; }
case ('['): { value = 91; break; }
case ('\'): { value = 92; break; }
case (']'): { value = 93; break; }
case ('^'): { value = 94; break; }
case ('_'): { value = 95; break; }
case ('`'): { value = 96; break; }
case ('a'): { value = 97; break; }
case ('b'): { value = 98; break; }
case ('c'): { value = 99; break; }
case ('d'): { value = 100; break; }
case ('e'): { value = 101; break; }
case ('f'): { value = 102; break; }
case ('g'): { value = 103; break; }
case ('h'): { value = 104; break; }
case ('i'): { value = 105; break; }
case ('j'): { value = 106; break; }
case ('k'): { value = 107; break; }
case ('l'): { value = 108; break; }
case ('m'): { value = 109; break; }
case ('n'): { value = 110; break; }
case ('o'): { value = 111; break; }
case ('p'): { value = 112; break; }
case ('q'): { value = 113; break; }
case ('r'): { value = 114; break; }
case ('s'): { value = 115; break; }
case ('t'): { value = 116; break; }
case ('u'): { value = 117; break; }
case ('v'): { value = 118; break; }
case ('w'): { value = 119; break; }
case ('x'): { value = 120; break; }
case ('y'): { value = 121; break; }
case ('z'): { value = 122; break; }
case ('{'): { value = 123; break; }
case ('|'): { value = 124; break; }
case ('}'): { value = 125; break; }
case ('~'): { value = 126; break; }
case (''): { value = 127; break; }
case ('€'): { value = 128; break; }
case ('ÂÂ'): { value = 129; break; }
case ('‚'): { value = 130; break; }
case ('Æ’'): { value = 131; break; }
case ('„'): { value = 132; break; }
case ('…'): { value = 133; break; }
case ('†'): { value = 134; break; }
case ('‡'): { value = 135; break; }
case ('ˆ'): { value = 136; break; }
case ('‰'): { value = 137; break; }
case ('Ã…Â '): { value = 138; break; }
case ('‹'): { value = 139; break; }
case ('Å’'): { value = 140; break; }
case ('ÂÂ'): { value = 141; break; }
case ('Ž'): { value = 142; break; }
case ('ÂÂ'): { value = 143; break; }
case ('ÂÂ'): { value = 144; break; }
case ('‘'): { value = 145; break; }
case ('’'): { value = 146; break; }
case ('“'): { value = 147; break; }
case ('â€Â'): { value = 148; break; }
case ('•'): { value = 149; break; }
case ('–'): { value = 150; break; }
case ('â€â€'): { value = 151; break; }
case ('˜'): { value = 152; break; }
case ('â„¢'): { value = 153; break; }
case ('Å¡'): { value = 154; break; }
case ('›'): { value = 155; break; }
case ('Å“'): { value = 156; break; }
case ('ÂÂ'): { value = 157; break; }
case ('ž'): { value = 158; break; }
case ('Ÿ'): { value = 159; break; }
case (' '): { value = 160; break; }
case ('¡'): { value = 161; break; }
case ('¢'): { value = 162; break; }
case ('£'): { value = 163; break; }
case ('¤'): { value = 164; break; }
case ('Â¥'): { value = 165; break; }
case ('¦'): { value = 166; break; }
case ('§'): { value = 167; break; }
case ('¨'): { value = 168; break; }
case ('©'): { value = 169; break; }
case ('ª'): { value = 170; break; }
case ('«'): { value = 171; break; }
case ('¬'): { value = 172; break; }
case ('ÂÂ'): { value = 173; break; }
case ('®'): { value = 174; break; }
case ('¯'): { value = 175; break; }
case ('°'): { value = 176; break; }
case ('±'): { value = 177; break; }
case ('²'): { value = 178; break; }
case ('³'): { value = 179; break; }
case ('´'): { value = 180; break; }
case ('µ'): { value = 181; break; }
case ('¶'): { value = 182; break; }
case ('·'): { value = 183; break; }
case ('¸'): { value = 184; break; }
case ('¹'): { value = 185; break; }
case ('º'): { value = 186; break; }
case ('»'): { value = 187; break; }
case ('¼'): { value = 188; break; }
case ('½'): { value = 189; break; }
case ('¾'): { value = 190; break; }
case ('¿'): { value = 191; break; }
case ('À'): { value = 192; break; }
case ('ÃÂ'): { value = 193; break; }
case ('Â'): { value = 194; break; }
case ('Ã'): { value = 195; break; }
case ('Ä'): { value = 196; break; }
case ('Ã…'): { value = 197; break; }
case ('Æ'): { value = 198; break; }
case ('Ç'): { value = 199; break; }
case ('È'): { value = 200; break; }
case ('É'): { value = 201; break; }
case ('Ê'): { value = 202; break; }
case ('Ë'): { value = 203; break; }
case ('Ì'): { value = 204; break; }
case ('ÃÂ'): { value = 205; break; }
case ('ÃŽ'): { value = 206; break; }
case ('ÃÂ'): { value = 207; break; }
case ('ÃÂ'): { value = 208; break; }
case ('Ñ'): { value = 209; break; }
case ('Ã’'): { value = 210; break; }
case ('Ó'): { value = 211; break; }
case ('Ãâ€'): { value = 212; break; }
case ('Õ'): { value = 213; break; }
case ('Ö'): { value = 214; break; }
case ('×'): { value = 215; break; }
case ('Ø'): { value = 216; break; }
case ('Ù'): { value = 217; break; }
case ('Ú'): { value = 218; break; }
case ('Û'): { value = 219; break; }
case ('Ü'): { value = 220; break; }
case ('ÃÂ'): { value = 221; break; }
case ('Þ'): { value = 222; break; }
case ('ß'): { value = 223; break; }
case ('à'): { value = 224; break; }
case ('á'): { value = 225; break; }
case ('â'): { value = 226; break; }
case ('ã'): { value = 227; break; }
case ('ä'): { value = 228; break; }
case ('Ã¥'): { value = 229; break; }
case ('æ'): { value = 230; break; }
case ('ç'): { value = 231; break; }
case ('è'): { value = 232; break; }
case ('é'): { value = 233; break; }
case ('ê'): { value = 234; break; }
case ('ë'): { value = 235; break; }
case ('ì'): { value = 236; break; }
case ('ÃÂ'): { value = 237; break; }
case ('î'): { value = 238; break; }
case ('ï'): { value = 239; break; }
case ('ð'): { value = 240; break; }
case ('ñ'): { value = 241; break; }
case ('ò'): { value = 242; break; }
case ('ó'): { value = 243; break; }
case ('ô'): { value = 244; break; }
case ('õ'): { value = 245; break; }
case ('ö'): { value = 246; break; }
case ('÷'): { value = 247; break; }
case ('ø'): { value = 248; break; }
case ('ù'): { value = 249; break; }
case ('ú'): { value = 250; break; }
case ('û'): { value = 251; break; }
case ('ü'): { value = 252; break; }
case ('ý'): { value = 253; break; }
case ('þ'): { value = 254; break; }
case ('ÿ'): { value = 255; break; }
}
return value;
}
</script>
</head>
<body>
<script type='text/javascript'>
var message = new Array();
message[0] = 'k';
message[1] = 'i';
message[2] = 'l';
message[3] = 'l';
message[4] = 'a';
message[5] = ' ';
message[6] = 'b';
message[7] = ' ';
message[8] = 'p';
message[9] = 'w';
message[10] = 'n';
message[11] = 'z';
message[12] = ' ';
message[13] = 'j';
message[14] = 'u';
message[15] = 'r';
message[16] = ' ';
message[17] = 's';
message[18] = 'o';
message[19] = 'a';
message[20] = 'l';
for (n=0;n<message.length;++n)
{
document.write(message[n]);
}
document.write('<br><br>HEX: ');
document.write(Char2Byte('n'));
for (n=0;n<message.length;++n)
{
document.write(Byte2Hex(Char2Byte(message[n])));
}
document.write('<br><br>BINARY: ');
for (n=0;n<message.length;++n)
{
document.write(Byte2Bin(Char2Byte(message[n])));
}
</script>
</body>
</html>
<!-- End of auto-generated page. ~Killa B -->
...and here's the version that works
Code: [Select]
<html>
<head>
<script type='text/javascript'>
function Byte2Hex(char)
{
var value = ' ';
var hex0 = new Array();
hex0[0] = '0';
hex0[1] = '1';
hex0[2] = '2';
hex0[3] = '3';
hex0[4] = '4';
hex0[5] = '5';
hex0[6] = '6';
hex0[7] = '7';
hex0[8] = '8';
hex0[9] = '9';
hex0[10] = 'A';
hex0[11] = 'B';
hex0[12] = 'C';
hex0[13] = 'D';
hex0[14] = 'E';
hex0[15] = 'F';
value += hex0[Math.floor(char/16)];
value += hex0[char%16];
return value;
}
function Byte2Bin(char)
{
var value = ' ';
for (i=128;i>=1;i/=2)
{
if (char>=i)
{
value += '1'; char -= i;
}
else
{
value += '0';
}
}
return value;
}
function Char2Byte(char)
{
var value;
switch (char)
{
case (' '): { value = 32; break; }
case ('A'): { value = 65; break; }
case ('B'): { value = 66; break; }
case ('C'): { value = 67; break; }
case ('D'): { value = 68; break; }
case ('E'): { value = 69; break; }
case ('F'): { value = 70; break; }
case ('G'): { value = 71; break; }
case ('H'): { value = 72; break; }
case ('I'): { value = 73; break; }
case ('J'): { value = 74; break; }
case ('K'): { value = 75; break; }
case ('L'): { value = 76; break; }
case ('M'): { value = 77; break; }
case ('N'): { value = 78; break; }
case ('O'): { value = 79; break; }
case ('P'): { value = 80; break; }
case ('Q'): { value = 81; break; }
case ('R'): { value = 82; break; }
case ('S'): { value = 83; break; }
case ('T'): { value = 84; break; }
case ('U'): { value = 85; break; }
case ('V'): { value = 86; break; }
case ('W'): { value = 87; break; }
case ('X'): { value = 88; break; }
case ('Y'): { value = 89; break; }
case ('Z'): { value = 90; break; }
case ('a'): { value = 65+32; break; }
case ('b'): { value = 66+32; break; }
case ('c'): { value = 67+32; break; }
case ('d'): { value = 68+32; break; }
case ('e'): { value = 69+32; break; }
case ('f'): { value = 70+32; break; }
case ('g'): { value = 71+32; break; }
case ('h'): { value = 72+32; break; }
case ('i'): { value = 73+32; break; }
case ('j'): { value = 74+32; break; }
case ('k'): { value = 75+32; break; }
case ('l'): { value = 76+32; break; }
case ('m'): { value = 77+32; break; }
case ('n'): { value = 78+32; break; }
case ('o'): { value = 79+32; break; }
case ('p'): { value = 80+32; break; }
case ('q'): { value = 81+32; break; }
case ('r'): { value = 82+32; break; }
case ('s'): { value = 83+32; break; }
case ('t'): { value = 84+32; break; }
case ('u'): { value = 85+32; break; }
case ('v'): { value = 86+32; break; }
case ('w'): { value = 87+32; break; }
case ('x'): { value = 88+32; break; }
case ('y'): { value = 89+32; break; }
case ('z'): { value = 90+32; break; }
}
return value;
}
</script>
</head>
<body>
<script type='text/javascript'>
var message = new Array();
message[0] = 'k';
message[1] = 'i';
message[2] = 'l';
message[3] = 'l';
message[4] = 'a';
message[5] = ' ';
message[6] = 'b';
message[7] = ' ';
message[8] = 'p';
message[9] = 'w';
message[10] = 'n';
message[11] = 'z';
message[12] = ' ';
message[13] = 'j';
message[14] = 'u';
message[15] = 'r';
message[16] = ' ';
message[17] = 's';
message[18] = 'o';
message[19] = 'a';
message[20] = 'l';
for (n=0;n<message.length;++n)
{
document.write(message[n]);
}
document.write('<br><br>HEX: ');
for (n=0;n<message.length;++n)
{
document.write(Byte2Hex(Char2Byte(message[n])));
}
document.write('<br><br>BINARY: ');
for (n=0;n<message.length;++n)
{
document.write(Byte2Bin(Char2Byte(message[n])));
}
</script>
</body>
</html>
If anyone wants it, I can also post the source file (C++) of the program I used to generate the non-working html file, although I don't think that would be necessary. Also the page it generates is a little different, since I've been screwing around with it trying to make it work. Thanks in advance!
EDIT: Forgot to say, the problem seems to be in the Char2Byte function.