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:
<!-- 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
<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.