从CuteEditor中分离出来的,经过了混淆,待有时间再研究
using System;
using
System.Collections;
using System.Xml;
using System.Text;
using
System.IO;
namespace JJCCX.Xml
{
public class
HtmlFormater
{
public static string
ConvertToXml(string str, bool
bLineAndIndent)
{
XmlDocument
document1 = ConvertToXmlDocument(str);
if
(bLineAndIndent)
{
StringBuilder
builder1 = new StringBuilder();
XmlTextWriter
writer1 = new XmlTextWriter(new
StringWriter(builder1));
writer1.IndentChar = '
';
writer1.Indentation =
4;
writer1.Formatting =
Formatting.Indented;
document1.DocumentElement.WriteContentTo(writer1);
return
builder1.ToString();
}
return
document1.DocumentElement.InnerXml;
}
public static XmlDocument ConvertToXmlDocument(string
str)
{
XmlDocument document1 = new
XmlDocument();
document1.LoadXml("<xml/>");
SafeHtmlParser.ParseHtml(document1.DocumentElement,
str);
return
document1;
}
}
///
<summary>
/// SafeHtmlParser 的摘要说明。
///
</summary>
public class
SafeHtmlParser
{
internal class
ca
{
internal static Hashtable
r;
}
// Methods
static
SafeHtmlParser()
{
char[] chArray1 =
new char[2] { '&', ';' } ;
SafeHtmlParser.fh =
chArray1;
}
private
SafeHtmlParser()
{
}
private
string a()
{
StringBuilder builder1 =
new StringBuilder();
int num1 =
this.fg;
builder1.Append(this.e());
this.fg
= num1;
if (builder1.Length ==
0)
{
return
null;
}
return
builder1.ToString();
}
private string a(char
A_0)
{
if (this.fg >=
this.ff)
{
return
"";
}
int num1 =
this.fd.IndexOf(A_0, this.fg);
if (num1 ==
-1)
{
return
this.e();
}
int num2 =
this.fd.IndexOf('<', this.fg, (int) (num1 -
this.fg));
if (num2 !=
-1)
{
num1 =
num2;
}
string text1 =
this.fd.Substring(this.fg, num1 - this.fg);
this.fg =
num1 + 1;
return
text1;
}
private string a(out string
A_0)
{
int num1 =
this.fg;
A_0 = this.d();
string
text1 = this.b();
this.fg =
num1;
return
text1;
}
private static string
a(string A_0)
{
string
text1;
object obj1;
if (ca.r ==
null)
{
Hashtable
hashtable1 = new Hashtable(0x404,
0.5f);
hashtable1.Add(""",
0);
hashtable1.Add("&",
1);
hashtable1.Add("<",
2);
hashtable1.Add(">",
3);
hashtable1.Add(" ",
4);
hashtable1.Add("¡",
5);
hashtable1.Add("¢",
6);
hashtable1.Add("£",
7);
hashtable1.Add("¤",
8);
hashtable1.Add("¥",
9);
hashtable1.Add("¦",
10);
hashtable1.Add("&brkbar;",
11);
hashtable1.Add("§",
12);
hashtable1.Add("¨",
13);
hashtable1.Add("¨",
14);
hashtable1.Add("©",
15);
hashtable1.Add("ª",
0x10);
hashtable1.Add("«",
0x11);
hashtable1.Add("¬",
0x12);
hashtable1.Add("­",
0x13);
hashtable1.Add("®",
20);
hashtable1.Add("¯",
0x15);
hashtable1.Add("&hibar;",
0x16);
hashtable1.Add("°",
0x17);
hashtable1.Add("±",
0x18);
hashtable1.Add("²",
0x19);
hashtable1.Add("³",
0x1a);
hashtable1.Add("´",
0x1b);
hashtable1.Add("µ",
0x1c);
hashtable1.Add("¶",
0x1d);
hashtable1.Add("·",
30);
hashtable1.Add("¸",
0x1f);
hashtable1.Add("¹",
0x20);
hashtable1.Add("º",
0x21);
hashtable1.Add("»",
0x22);
hashtable1.Add("¼",
0x23);
hashtable1.Add("½",
0x24);
hashtable1.Add("¾",
0x25);
hashtable1.Add("¿",
0x26);
hashtable1.Add("À",
0x27);
hashtable1.Add("Á",
40);
hashtable1.Add("Â",
0x29);
hashtable1.Add("Ã",
0x2a);
hashtable1.Add("Ä",
0x2b);
hashtable1.Add("Å",
0x2c);
hashtable1.Add("Æ",
0x2d);
hashtable1.Add("Ç",
0x2e);
hashtable1.Add("È",
0x2f);
hashtable1.Add("É",
0x30);
hashtable1.Add("Ê",
0x31);
hashtable1.Add("Ë",
50);
hashtable1.Add("Ì",
0x33);
hashtable1.Add("Í",
0x34);
hashtable1.Add("Î",
0x35);
hashtable1.Add("Ï",
0x36);
hashtable1.Add("Ð",
0x37);
hashtable1.Add("Ñ",
0x38);
hashtable1.Add("Ò",
0x39);
hashtable1.Add("Ó",
0x3a);
hashtable1.Add("Ô",
0x3b);
hashtable1.Add("Õ",
60);
hashtable1.Add("Ö",
0x3d);
hashtable1.Add("×",
0x3e);
hashtable1.Add("Ø",
0x3f);
hashtable1.Add("Ù",
0x40);
hashtable1.Add("Ú",
0x41);
hashtable1.Add("Û",
0x42);
hashtable1.Add("Ü",
0x43);
hashtable1.Add("Ý",
0x44);
hashtable1.Add("Þ",
0x45);
hashtable1.Add("ß",
70);
hashtable1.Add("à",
0x47);
hashtable1.Add("á",
0x48);
hashtable1.Add("â",
0x49);
hashtable1.Add("ã",
0x4a);
hashtable1.Add("ä",
0x4b);
hashtable1.Add("å",
0x4c);
hashtable1.Add("æ",
0x4d);
hashtable1.Add("ç",
0x4e);
hashtable1.Add("è",
0x4f);
hashtable1.Add("é",
80);
hashtable1.Add("ê",
0x51);
hashtable1.Add("ë",
0x52);
hashtable1.Add("ì",
0x53);
hashtable1.Add("í",
0x54);
hashtable1.Add("î",
0x55);
hashtable1.Add("ï",
0x56);
hashtable1.Add("ð",
0x57);
hashtable1.Add("ñ",
0x58);
hashtable1.Add("ò",
0x59);
hashtable1.Add("ó",
90);
hashtable1.Add("ô",
0x5b);
hashtable1.Add("õ",
0x5c);
hashtable1.Add("ö",
0x5d);
hashtable1.Add("÷",
0x5e);
hashtable1.Add("ø",
0x5f);
hashtable1.Add("ù",
0x60);
hashtable1.Add("ú",
0x61);
hashtable1.Add("û",
0x62);
hashtable1.Add("ü",
0x63);
hashtable1.Add("ý",
100);
hashtable1.Add("þ",
0x65);
hashtable1.Add("ÿ",
0x66);
hashtable1.Add("ƒ",
0x67);
hashtable1.Add("Α",
0x68);
hashtable1.Add("Β",
0x69);
hashtable1.Add("Γ",
0x6a);
hashtable1.Add("Δ",
0x6b);
hashtable1.Add("Ε",
0x6c);
hashtable1.Add("Ζ",
0x6d);
hashtable1.Add("Η",
110);
hashtable1.Add("Θ",
0x6f);
hashtable1.Add("Ι",
0x70);
hashtable1.Add("Κ",
0x71);
hashtable1.Add("Λ",
0x72);
hashtable1.Add("Μ",
0x73);
hashtable1.Add("Ν",
0x74);
hashtable1.Add("Ξ",
0x75);
hashtable1.Add("Ο",
0x76);
hashtable1.Add("Π",
0x77);
hashtable1.Add("Ρ",
120);
hashtable1.Add("Σ",
0x79);
hashtable1.Add("Τ",
0x7a);
hashtable1.Add("Υ",
0x7b);
hashtable1.Add("Φ",
0x7c);
hashtable1.Add("Χ",
0x7d);
hashtable1.Add("Ψ",
0x7e);
hashtable1.Add("Ω",
0x7f);
hashtable1.Add("α",
0x80);
hashtable1.Add("β",
0x81);
hashtable1.Add("γ",
130);
hashtable1.Add("δ",
0x83);
hashtable1.Add("ε",
0x84);
hashtable1.Add("ζ",
0x85);
hashtable1.Add("η",
0x86);
hashtable1.Add("θ",
0x87);
hashtable1.Add("ι",
0x88);
hashtable1.Add("κ",
0x89);
hashtable1.Add("λ",
0x8a);
hashtable1.Add("μ",
0x8b);
hashtable1.Add("ν",
140);
hashtable1.Add("ξ",
0x8d);
hashtable1.Add("ο",
0x8e);
hashtable1.Add("π",
0x8f);
hashtable1.Add("ρ",
0x90);
hashtable1.Add("ς",
0x91);
hashtable1.Add("σ",
0x92);
hashtable1.Add("τ",
0x93);
hashtable1.Add("υ",
0x94);
hashtable1.Add("φ",
0x95);
hashtable1.Add("χ",
150);
hashtable1.Add("ψ",
0x97);
hashtable1.Add("ω",
0x98);
hashtable1.Add("ϑ",
0x99);
hashtable1.Add("ϒ",
0x9a);
hashtable1.Add("ϖ",
0x9b);
hashtable1.Add("•",
0x9c);
hashtable1.Add("…",
0x9d);
hashtable1.Add("′",
0x9e);
hashtable1.Add("″",
0x9f);
hashtable1.Add("‾",
160);
hashtable1.Add("⁄",
0xa1);
hashtable1.Add("℘",
0xa2);
hashtable1.Add("ℑ",
0xa3);
hashtable1.Add("ℜ",
0xa4);
hashtable1.Add("™",
0xa5);
hashtable1.Add("ℵ",
0xa6);
hashtable1.Add("←",
0xa7);
hashtable1.Add("↑",
0xa8);
hashtable1.Add("→",
0xa9);
hashtable1.Add("↓",
170);
hashtable1.Add("↔",
0xab);
hashtable1.Add("↵",
0xac);
hashtable1.Add("⇐",
0xad);
hashtable1.Add("⇑",
0xae);
hashtable1.Add("⇒",
0xaf);
hashtable1.Add("⇓",
0xb0);
hashtable1.Add("⇔",
0xb1);
hashtable1.Add("∀",
0xb2);
hashtable1.Add("∂",
0xb3);
hashtable1.Add("∃",
180);
hashtable1.Add("∅",
0xb5);
hashtable1.Add("∇",
0xb6);
hashtable1.Add("∈",
0xb7);
hashtable1.Add("∉",
0xb8);
hashtable1.Add("∋",
0xb9);
hashtable1.Add("∏",
0xba);
hashtable1.Add("∑",
0xbb);
hashtable1.Add("−",
0xbc);
hashtable1.Add("∗",
0xbd);
hashtable1.Add("√",
190);
hashtable1.Add("∝",
0xbf);
hashtable1.Add("∞",
0xc0);
hashtable1.Add("∠",
0xc1);
hashtable1.Add("∧",
0xc2);
hashtable1.Add("∨",
0xc3);
hashtable1.Add("∩",
0xc4);
hashtable1.Add("∪",
0xc5);
hashtable1.Add("∫",
0xc6);
hashtable1.Add("∴",
0xc7);
hashtable1.Add("∼",
200);
hashtable1.Add("≅",
0xc9);
hashtable1.Add("≈",
0xca);
hashtable1.Add("≠",
0xcb);
hashtable1.Add("≡",
0xcc);
hashtable1.Add("≤",
0xcd);
hashtable1.Add("≥",
0xce);
hashtable1.Add("⊂",
0xcf);
hashtable1.Add("⊃",
0xd0);
hashtable1.Add("⊄",
0xd1);
hashtable1.Add("⊆",
210);
hashtable1.Add("⊇",
0xd3);
hashtable1.Add("⊕",
0xd4);
hashtable1.Add("⊗",
0xd5);
hashtable1.Add("⊥",
0xd6);
hashtable1.Add("⋅",
0xd7);
hashtable1.Add("⌈",
0xd8);
hashtable1.Add("⌉",
0xd9);
hashtable1.Add("⌊",
0xda);
hashtable1.Add("⌋",
0xdb);
hashtable1.Add("⟨",
220);
hashtable1.Add("⟩",
0xdd);
hashtable1.Add("◊",
0xde);
hashtable1.Add("♠",
0xdf);
hashtable1.Add("♣",
0xe0);
hashtable1.Add("♥",
0xe1);
hashtable1.Add("♦",
0xe2);
hashtable1.Add(""",
0xe3);
hashtable1.Add("&",
0xe4);
hashtable1.Add("<",
0xe5);
hashtable1.Add(">",
230);
hashtable1.Add("&OElig",
0xe7);
hashtable1.Add("&oelig",
0xe8);
hashtable1.Add("&Scaron",
0xe9);
hashtable1.Add("&scaron",
0xea);
hashtable1.Add("&Yuml",
0xeb);
hashtable1.Add("&circ",
0xec);
hashtable1.Add("&tilde",
0xed);
hashtable1.Add("&ensp",
0xee);
hashtable1.Add("&emsp",
0xef);
hashtable1.Add("&thinsp",
240);
hashtable1.Add("&zwnj",
0xf1);
hashtable1.Add("&zwj",
0xf2);
hashtable1.Add("&lrm",
0xf3);
hashtable1.Add("&rlm",
0xf4);
hashtable1.Add("&ndash",
0xf5);
hashtable1.Add("&mdash",
0xf6);
hashtable1.Add("&lsquo",
0xf7);
hashtable1.Add("&rsquo",
0xf8);
hashtable1.Add("&sbquo",
0xf9);
hashtable1.Add("&ldquo",
250);
hashtable1.Add("&rdquo",
0xfb);
hashtable1.Add("&bdquo",
0xfc);
hashtable1.Add("&dagger",
0xfd);
hashtable1.Add("&Dagger",
0xfe);
hashtable1.Add("&permil",
0xff);
hashtable1.Add("&lsaquo",
0x100);
hashtable1.Add("&rsaquo",
0x101);
hashtable1.Add("�",
0x102);
hashtable1.Add("",
0x103);
hashtable1.Add("",
260);
hashtable1.Add("",
0x105);
hashtable1.Add("",
0x106);
hashtable1.Add("",
0x107);
hashtable1.Add("",
0x108);
hashtable1.Add("",
0x109);
hashtable1.Add("",
0x10a);
hashtable1.Add("	",
0x10b);
hashtable1.Add(" ",
0x10c);
hashtable1.Add("",
0x10d);
hashtable1.Add("",
270);
hashtable1.Add(" ",
0x10f);
hashtable1.Add("",
0x110);
hashtable1.Add("",
0x111);
hashtable1.Add("",
0x112);
hashtable1.Add("",
0x113);
hashtable1.Add("",
0x114);
hashtable1.Add("",
0x115);
hashtable1.Add("",
0x116);
hashtable1.Add("",
0x117);
hashtable1.Add("",
280);
hashtable1.Add("",
0x119);
hashtable1.Add("",
0x11a);
hashtable1.Add("",
0x11b);
hashtable1.Add("",
0x11c);
hashtable1.Add("",
0x11d);
hashtable1.Add("",
0x11e);
hashtable1.Add("",
0x11f);
hashtable1.Add("",
0x120);
hashtable1.Add("",
0x121);
hashtable1.Add(" ",
290);
hashtable1.Add("!",
0x123);
hashtable1.Add(""",
0x124);
hashtable1.Add("#",
0x125);
hashtable1.Add("$",
0x126);
hashtable1.Add("%",
0x127);
hashtable1.Add("&",
0x128);
hashtable1.Add("'",
0x129);
hashtable1.Add("(",
0x12a);
hashtable1.Add(")",
0x12b);
hashtable1.Add("*",
300);
hashtable1.Add("+",
0x12d);
hashtable1.Add(",",
0x12e);
hashtable1.Add("-",
0x12f);
hashtable1.Add(".",
0x130);
hashtable1.Add("/",
0x131);
hashtable1.Add("0",
0x132);
hashtable1.Add("1",
0x133);
hashtable1.Add("2",
0x134);
hashtable1.Add("3",
0x135);
hashtable1.Add("4",
310);
hashtable1.Add("5",
0x137);
hashtable1.Add("6",
0x138);
hashtable1.Add("7",
0x139);
hashtable1.Add("8",
0x13a);
hashtable1.Add("9",
0x13b);
hashtable1.Add(":",
0x13c);
hashtable1.Add(";",
0x13d);
hashtable1.Add("<",
0x13e);
hashtable1.Add("=",
0x13f);
hashtable1.Add(">",
320);
hashtable1.Add("?",
0x141);
hashtable1.Add("@",
0x142);
hashtable1.Add("A",
0x143);
hashtable1.Add("B",
0x144);
hashtable1.Add("C",
0x145);
hashtable1.Add("D",
0x146);
hashtable1.Add("E",
0x147);
hashtable1.Add("F",
0x148);
hashtable1.Add("G",
0x149);
hashtable1.Add("H",
330);
hashtable1.Add("I",
0x14b);
hashtable1.Add("J",
0x14c);
hashtable1.Add("K",
0x14d);
hashtable1.Add("L",
0x14e);
hashtable1.Add("M",
0x14f);
hashtable1.Add("N",
0x150);
hashtable1.Add("O",
0x151);
hashtable1.Add("P",
0x152);
hashtable1.Add("Q",
0x153);
hashtable1.Add("R",
340);
hashtable1.Add("S",
0x155);
hashtable1.Add("T",
0x156);
hashtable1.Add("U",
0x157);
hashtable1.Add("V",
0x158);
hashtable1.Add("W",
0x159);
hashtable1.Add("X",
0x15a);
hashtable1.Add("Y",
0x15b);
hashtable1.Add("Z",
0x15c);
hashtable1.Add("[",
0x15d);
hashtable1.Add("\",
350);
hashtable1.Add("]",
0x15f);
hashtable1.Add("^",
0x160);
hashtable1.Add("_",
0x161);
hashtable1.Add("`",
0x162);
hashtable1.Add("a",
0x163);
hashtable1.Add("b",
0x164);
hashtable1.Add("c",
0x165);
hashtable1.Add("d",
0x166);
hashtable1.Add("e",
0x167);
hashtable1.Add("f",
360);
hashtable1.Add("g",
0x169);
hashtable1.Add("h",
0x16a);
hashtable1.Add("i",
0x16b);
hashtable1.Add("j",
0x16c);
hashtable1.Add("k",
0x16d);
hashtable1.Add("l",
0x16e);
hashtable1.Add("m",
0x16f);
hashtable1.Add("n",
0x170);
hashtable1.Add("o",
0x171);
hashtable1.Add("p",
370);
hashtable1.Add("q",
0x173);
hashtable1.Add("r",
0x174);
hashtable1.Add("s",
0x175);
hashtable1.Add("t",
0x176);
hashtable1.Add("u",
0x177);
hashtable1.Add("v",
0x178);
hashtable1.Add("w",
0x179);
hashtable1.Add("x",
0x17a);
hashtable1.Add("y",
0x17b);
hashtable1.Add("z",
380);
hashtable1.Add("{",
0x17d);
hashtable1.Add("|",
0x17e);
hashtable1.Add("}",
0x17f);
hashtable1.Add("~",
0x180);
hashtable1.Add("",
0x181);
hashtable1.Add("€",
0x182);
hashtable1.Add("",
0x183);
hashtable1.Add("‚",
0x184);
hashtable1.Add("ƒ",
0x185);
hashtable1.Add("„",
390);
hashtable1.Add("…",
0x187);
hashtable1.Add("†",
0x188);
hashtable1.Add("‡",
0x189);
hashtable1.Add("ˆ",
0x18a);
hashtable1.Add("‰",
0x18b);
hashtable1.Add("Š",
0x18c);
hashtable1.Add("‹",
0x18d);
hashtable1.Add("Œ",
0x18e);
hashtable1.Add("",
0x18f);
hashtable1.Add("Ž",
400);
hashtable1.Add("",
0x191);
hashtable1.Add("",
0x192);
hashtable1.Add("‘",
0x193);
hashtable1.Add("’",
0x194);
hashtable1.Add("“",
0x195);
hashtable1.Add("”",
0x196);
hashtable1.Add("•",
0x197);
hashtable1.Add("–",
0x198);
hashtable1.Add("—",
0x199);
hashtable1.Add("˜",
410);
hashtable1.Add("™",
0x19b);
hashtable1.Add("š",
0x19c);
hashtable1.Add("›",
0x19d);
hashtable1.Add("œ",
0x19e);
hashtable1.Add("",
0x19f);
hashtable1.Add("ž",
0x1a0);
hashtable1.Add("Ÿ",
0x1a1);
hashtable1.Add(" ",
0x1a2);
hashtable1.Add("¡",
0x1a3);
hashtable1.Add("¢",
420);
hashtable1.Add("£",
0x1a5);
hashtable1.Add("¤",
0x1a6);
hashtable1.Add("¥",
0x1a7);
hashtable1.Add("¦",
0x1a8);
hashtable1.Add("§",
0x1a9);
hashtable1.Add("¨",
0x1aa);
hashtable1.Add("©",
0x1ab);
hashtable1.Add("ª",
0x1ac);
hashtable1.Add("«",
0x1ad);
hashtable1.Add("¬",
430);
hashtable1.Add("­",
0x1af);
hashtable1.Add("®",
0x1b0);
hashtable1.Add("¯",
0x1b1);
hashtable1.Add("°",
0x1b2);
hashtable1.Add("±",
0x1b3);
hashtable1.Add("²",
0x1b4);
hashtable1.Add("³",
0x1b5);
hashtable1.Add("´",
0x1b6);
hashtable1.Add("µ",
0x1b7);
hashtable1.Add("¶",
440);
hashtable1.Add("·",
0x1b9);
hashtable1.Add("¸",
0x1ba);
hashtable1.Add("¹",
0x1bb);
hashtable1.Add("º",
0x1bc);
hashtable1.Add("»",
0x1bd);
hashtable1.Add("¼",
0x1be);
hashtable1.Add("½",
0x1bf);
hashtable1.Add("¾",
0x1c0);
hashtable1.Add("¿",
0x1c1);
hashtable1.Add("À",
450);
hashtable1.Add("Á",
0x1c3);
hashtable1.Add("Â",
0x1c4);
hashtable1.Add("Ã",
0x1c5);
hashtable1.Add("Ä",
0x1c6);
hashtable1.Add("Å",
0x1c7);
hashtable1.Add("Æ",
0x1c8);
hashtable1.Add("Ç",
0x1c9);
hashtable1.Add("È",
0x1ca);
hashtable1.Add("É",
0x1cb);
hashtable1.Add("Ê",
460);
hashtable1.Add("Ë",
0x1cd);
hashtable1.Add("Ì",
0x1ce);
hashtable1.Add("Í",
0x1cf);
hashtable1.Add("Î",
0x1d0);
hashtable1.Add("Ï",
0x1d1);
hashtable1.Add("Ð",
0x1d2);
hashtable1.Add("Ñ",
0x1d3);
hashtable1.Add("Ò",
0x1d4);
hashtable1.Add("Ó",
0x1d5);
hashtable1.Add("Ô",
470);
hashtable1.Add("Õ",
0x1d7);
hashtable1.Add("Ö",
0x1d8);
hashtable1.Add("×",
0x1d9);
hashtable1.Add("Ø",
0x1da);
hashtable1.Add("Ù",
0x1db);
hashtable1.Add("Ú",
0x1dc);
hashtable1.Add("Û",
0x1dd);
hashtable1.Add("Ü",
0x1de);
hashtable1.Add("Ý",
0x1df);
hashtable1.Add("Þ",
480);
hashtable1.Add("ß",
0x1e1);
hashtable1.Add("à",
0x1e2);
hashtable1.Add("á",
0x1e3);
hashtable1.Add("â",
0x1e4);
hashtable1.Add("ã",
0x1e5);
hashtable1.Add("ä",
0x1e6);
hashtable1.Add("å",
0x1e7);
hashtable1.Add("æ",
0x1e8);
hashtable1.Add("ç",
0x1e9);
hashtable1.Add("è",
490);
hashtable1.Add("é",
0x1eb);
hashtable1.Add("ê",
0x1ec);
hashtable1.Add("ë",
0x1ed);
hashtable1.Add("ì",
0x1ee);
hashtable1.Add("í",
0x1ef);
hashtable1.Add("î",
0x1f0);
hashtable1.Add("ï",
0x1f1);
hashtable1.Add("ð",
0x1f2);
hashtable1.Add("ñ",
0x1f3);
hashtable1.Add("ò",
500);
hashtable1.Add("ó",
0x1f5);
hashtable1.Add("ô",
0x1f6);
hashtable1.Add("õ",
0x1f7);
hashtable1.Add("ö",
0x1f8);
hashtable1.Add("÷",
0x1f9);
hashtable1.Add("ø",
0x1fa);
hashtable1.Add("ù",
0x1fb);
hashtable1.Add("ú",
0x1fc);
hashtable1.Add("û",
0x1fd);
hashtable1.Add("ü",
510);
hashtable1.Add("ý",
0x1ff);
hashtable1.Add("þ",
0x200);
hashtable1.Add("ÿ",
0x201);
ca.r =
hashtable1;
}
if (((obj1 =
A_0.ToLower()) != null) && ((obj1 = ca.r[obj1]) !=
null))
{
switch (((int)
obj1))
{
case
0:
{
return
new string('"',
1);
}
case
1:
{
return
new string('&',
1);
}
case
2:
{
return
new string('<',
1);
}
case
3:
{
return
new string('>',
1);
}
case
4:
{
return
new string('\x00a0',
1);
}
case
5:
{
return
new string('\x00a1',
1);
}
case
6:
{
return
new string('\x00a2',
1);
}
case
7:
{
return
new string('\x00a3',
1);
}
case
8:
{
return
new string('\x00a4',
1);
}
case
9:
{
return
new string('\x00a5',
1);
}
case
10:
{
return
new string('\x00a6',
1);
}
case
11:
{
return
new string('\x00a6',
1);
}
case
12:
{
return
new string('\x00a7',
1);
}
case
13:
{
return
new string('\x00a8',
1);
}
case
14:
{
return
new string('\x00a8',
1);
}
case
15:
{
return
new string('\x00a9',
1);
}
case
0x10:
{
return
new string('\x00aa',
1);
}
case
0x11:
{
return
new string('\x00ab',
1);
}
case
0x12:
{
return
new string('\x00ac',
1);
}
case
0x13:
{
return
new string('\x00ad',
1);
}
case
20:
{
return
new string('\x00ae',
1);
}
case
0x15:
{
return
new string('\x00af',
1);
}
case
0x16:
{
return
new string('\x00af',
1);
}
case
0x17:
{
return
new string('\x00b0',
1);
}
case
0x18:
{
return
new string('\x00b1',
1);
}
case
0x19:
{
return
new string('\x00b2',
1);
}
case
0x1a:
{
return
new string('\x00b3',
1);
}
case
0x1b:
{
return
new string('\x00b4',
1);
}
case
0x1c:
{
return
new string('\x00b5',
1);
}
case
0x1d:
{
return
new string('\x00b6',
1);
}
case
30:
{
return
new string('\x00b7',
1);
}
case
0x1f:
{
return
new string('\x00b8',
1);
}
case
0x20:
{
return
new string('\x00b9',
1);
}
case
0x21:
{
return
new string('\x00ba',
1);
}
case
0x22:
{
return
new string('\x00bb',
1);
}
case
0x23:
{
return
new string('\x00bc',
1);
}
case
0x24:
{
return
new string('\x00bd',
1);
}
case
0x25:
{
return
new string('\x00be',
1);
}
case
0x26:
{
return
new string('\x00bf',
1);
}
case
0x27:
{
return
new string('\x00c0',
1);
}
case
40:
{
return
new string('\x00c1',
1);
}
case
0x29:
{
return
new string('\x00c2',
1);
}
case
0x2a:
{
return
new string('\x00c3',
1);
}
case
0x2b:
{
return
new string('\x00c4',
1);
}
case
0x2c:
{
return
new string('\x00c5',
1);
}
case
0x2d:
{
return
new string('\x00c6',
1);
}
case
0x2e:
{
return
new string('\x00c7',
1);
}
case
0x2f:
{
return
new string('\x00c8',
1);
}
case
0x30:
{
return
new string('\x00c9',
1);
}
case
0x31:
{
return
new string('\x00ca',
1);
}
case
50:
{
return
new string('\x00cb',
1);
}
case
0x33:
{
return
new string('\x00cc',
1);
}
case
0x34:
{
return
new string('\x00cd',
1);
}
case
0x35:
{
return
new string('\x00ce',
1);
}
case
0x36:
{
return
new string('\x00cf',
1);
}
case
0x37:
{
return
new string('\x00d0',
1);
}
case
0x38:
{
return
new string('\x00d1',
1);
}
case
0x39:
{
return
new string('\x00d2',
1);
}
case
0x3a:
{
return
new string('\x00d3',
1);
}
case
0x3b:
{
return
new string('\x00d4',
1);
}
case
60:
{
return
new string('\x00d5',
1);
}
case
0x3d:
{
return
new string('\x00d6',
1);
}
case
0x3e:
{
return
new string('\x00d7',
1);
}
case
0x3f:
{
return
new string('\x00d8',
1);
}
case
0x40:
{
return
new string('\x00d9',
1);
}
case
0x41:
{
return
new string('\x00da',
1);
}
case
0x42:
{
return
new string('\x00db',
1);
}
case
0x43:
{
return
new string('\x00dc',
1);
}
case
0x44:
{
return
new string('\x00dd',
1);
}
case
0x45:
{
return
new string('\x00de',
1);
}
case
70:
{
return
new string('\x00df',
1);
}
case
0x47:
{
return
new string('\x00e0',
1);
}
case
0x48:
{
return
new string('\x00e1',
1);
}
case
0x49:
{
return
new string('\x00e2',
1);
}
case
0x4a:
{
return
new string('\x00e3',
1);
}
case
0x4b:
{
return
new string('\x00e4',
1);
}
case
0x4c:
{
return
new string('\x00e5',
1);
}
case
0x4d:
{
return
new string('\x00e6',
1);
}
case
0x4e:
{
return
new string('\x00e7',
1);
}
case
0x4f:
{
return
new string('\x00e8',
1);
}
case
80:
{
return
new string('\x00e9',
1);
}
case
0x51:
{
return
new string('\x00ea',
1);
}
case
0x52:
{
return
new string('\x00eb',
1);
}
case
0x53:
{
return
new string('\x00ec',
1);
}
case
0x54:
{
return
new string('\x00ed',
1);
}
case
0x55:
{
return
new string('\x00ee',
1);
}
case
0x56:
{
return
new string('\x00ef',
1);
}
case
0x57:
{
return
new string('\x00f0',
1);
}
case
0x58:
{
return
new string('\x00f1',
1);
}
case
0x59:
{
return
new string('\x00f2',
1);
}
case
90:
{
return
new string('\x00f3',
1);
}
case
0x5b:
{
return
new string('\x00f4',
1);
}
case
0x5c:
{
return
new string('\x00f5',
1);
}
case
0x5d:
{
return
new string('\x00f6',
1);
}
case
0x5e:
{
return
new string('\x00f7',
1);
}
case
0x5f:
{
return
new string('\x00f8',
1);
}
case
0x60:
{
return
new string('\x00f9',
1);
}
case
0x61:
{
return
new string('\x00fa',
1);
}
case
0x62:
{
return
new string('\x00fb',
1);
}
case
0x63:
{
return
new string('\x00fc',
1);
}
case
100:
{
return
new string('\x00fd',
1);
}
case
0x65:
{
return
new string('\x00fe',
1);
}
case
0x66:
{
return
new string('\x00ff',
1);
}
case
0x67:
{
return
new string('\u0192',
1);
}
case
0x68:
{
return
new string('\u0391',
1);
}
case
0x69:
{
return
new string('\u0392',
1);
}
case
0x6a:
{
return
new string('\u0393',
1);
}
case
0x6b:
{
return
new string('\u0394',
1);
}
case
0x6c:
{
return
new string('\u0395',
1);
}
case
0x6d:
{
return
new string('\u0396',
1);
}
case
110:
{
return
new string('\u0397',
1);
}
case
0x6f:
{
return
new string('\u0398',
1);
}
case
0x70:
{
return
new string('\u0399',
1);
}
case
0x71:
{
return
new string('\u039a',
1);
}
case
0x72:
{
return
new string('\u039b',
1);
}
case
0x73:
{
return
new string('\u039c',
1);
}
case
0x74:
{
return
new string('\u039d',
1);
}
case
0x75:
{
return
new string('\u039e',
1);
}
case
0x76:
{
return
new string('\u039f',
1);
}
case
0x77:
{
return
new string('\u03a0',
1);
}
case
120:
{
return
new string('\u03a1',
1);
}
case
0x79:
{
return
new string('\u03a3',
1);
}
case
0x7a:
{
return
new string('\u03a4',
1);
}
case
0x7b:
{
return
new string('\u03a5',
1);
}
case
0x7c:
{
return
new string('\u03a6',
1);
}
case
0x7d:
{
return
new string('\u03a7',
1);
}
case
0x7e:
{
return
new string('\u03a8',
1);
}
case
0x7f:
{
return
new string('\u03a9',
1);
}
case
0x80:
{
return
new string('\u03b1',
1);
}
case
0x81:
{
return
new string('\u03b2',
1);
}
case
130:
{
return
new string('\u03b3',
1);
}
case
0x83:
{
return
new string('\u03b4',
1);
}
case
0x84:
{
return
new string('\u03b5',
1);
}
case
0x85:
{
return
new string('\u03b6',
1);
}
case
0x86:
{
return
new string('\u03b7',
1);
}
case
0x87:
{
return
new string('\u03b8',
1);
}
case
0x88:
{
return
new string('\u03b9',
1);
}
case
0x89:
{
return
new string('\u03ba',
1);
}
case
0x8a:
{
return
new string('\u03bb',
1);
}
case
0x8b:
{
return
new string('\u03bc',
1);
}
case
140:
{
return
new string('\u03bd',
1);
}
case
0x8d:
{
return
new string('\u03be',
1);
}
case
0x8e:
{
return
new string('\u03bf',
1);
}
case
0x8f:
{
return
new string('\u03c0',
1);
}
case
0x90:
{
return
new string('\u03c1',
1);
}
case
0x91:
{
return
new string('\u03c2',
1);
}
case
0x92:
{
return
new string('\u03c3',
1);
}
case
0x93:
{
return
new string('\u03c4',
1);
}
case
0x94:
{
return
new string('\u03c5',
1);
}
case
0x95:
{
return
new string('\u03c6',
1);
}
case
150:
{
return
new string('\u03c7',
1);
}
case
0x97:
{
return
new string('\u03c8',
1);
}
case
0x98:
{
return
new string('\u03c9',
1);
}
case
0x99:
{
return
new string('\u03d1',
1);
}
case
0x9a:
{
return
new string('\u03d2',
1);
}
case
0x9b:
{
return
new string('\u03d6',
1);
}
case
0x9c:
{
return
new string('\u2022',
1);
}
case
0x9d:
{
return
new string('\u2026',
1);
}
case
0x9e:
{
return
new string('\u2032',
1);
}
case
0x9f:
{
return
new string('\u2033',
1);
}
case
160:
{
return
new string('\u203e',
1);
}
case
0xa1:
{
return
new string('\u2044',
1);
}
case
0xa2:
{
return
new string('\u2118',
1);
}
case
0xa3:
{
return
new string('\u2111',
1);
}
case
0xa4:
{
return
new string('\u211c',
1);
}
case
0xa5:
{
return
new string('\u2122',
1);
}
case
0xa6:
{
return
new string('\u2135',
1);
}
case
0xa7:
{
return
new string('\u2190',
1);
}
case
0xa8:
{
return
new string('\u2191',
1);
}
case
0xa9:
{
return
new string('\u2192',
1);
}
case
170:
{
return
new string('\u2193',
1);
}
case
0xab:
{
return
new string('\u2194',
1);
}
case
0xac:
{
return
new string('\u21b5',
1);
}
case
0xad:
{
return
new string('\u21d0',
1);
}
case
0xae:
{
return
new string('\u21d1',
1);
}
case
0xaf:
{
return
new string('\u21d2',
1);
}
case
0xb0:
{
return
new string('\u21d3',
1);
}
case
0xb1:
{
return
new string('\u21d4',
1);
}
case
0xb2:
{
return
new string('\u2200',
1);
}
case
0xb3:
{
return
new string('\u2202',
1);
}
case
180:
{
return
new string('\u2203',
1);
}
case
0xb5:
{
return
new string('\u2205',
1);
}
case
0xb6:
{
return
new string('\u2207',
1);
}
case
0xb7:
{
return
new string('\u2208',
1);
}
case
0xb8:
{
return
new string('\u2209',
1);
}
case
0xb9:
{
return
new string('\u220b',
1);
}
case
0xba:
{
return
new string('\u220f',
1);
}
case
0xbb:
{
return
new string('\u2212',
1);
}
case
0xbc:
{
return
new string('\u2212',
1);
}
case
0xbd:
{
return
new string('\u2217',
1);
}
case
190:
{
return
new string('\u221a',
1);
}
case
0xbf:
{
return
new string('\u221d',
1);
}
case
0xc0:
{
return
new string('\u221e',
1);
}
case
0xc1:
{
return
new string('\u2220',
1);
}
case
0xc2:
{
return
new string('\u22a5',
1);
}
case
0xc3:
{
return
new string('\u22a6',
1);
}
case
0xc4:
{
return
new string('\u2229',
1);
}
case
0xc5:
{
return
new string('\u222a',
1);
}
case
0xc6:
{
return
new string('\u222b',
1);
}
case
0xc7:
{
return
new string('\u2234',
1);
}
case
200:
{
return
new string('\u223c',
1);
}
case
0xc9:
{
return
new string('\u2245',
1);
}
case
0xca:
{
return
new string('\u2245',
1);
}
case
0xcb:
{
return
new string('\u2260',
1);
}
case
0xcc:
{
return
new string('\u2261',
1);
}
case
0xcd:
{
return
new string('\u2264',
1);
}
case
0xce:
{
return
new string('\u2265',
1);
}
case
0xcf:
{
return
new string('\u2282',
1);
}
case
0xd0:
{
return
new string('\u2283',
1);
}
case
0xd1:
{
return
new string('\u2284',
1);
}
case
210:
{
return
new string('\u2286',
1);
}
case
0xd3:
{
return
new string('\u2287',
1);
}
case
0xd4:
{
return
new string('\u2295',
1);
}
case
0xd5:
{
return
new string('\u2297',
1);
}
case
0xd6:
{
return
new string('\u22a5',
1);
}
case
0xd7:
{
return
new string('\u22c5',
1);
}
case
0xd8:
{
return
new string('\u2308',
1);
}
case
0xd9:
{
return
new string('\u2309',
1);
}
case
0xda:
{
return
new string('\u230a',
1);
}
case
0xdb:
{
return
new string('\u230b',
1);
}
case
220:
{
return
new string('\u2329',
1);
}
case
0xdd:
{
return
new string('\u232a',
1);
}
case
0xde:
{
return
new string('\u25ca',
1);
}
case
0xdf:
{
return
new string('\u2660',
1);
}
case
0xe0:
{
return
new string('\u2663',
1);
}
case
0xe1:
{
return
new string('\u2665',
1);
}
case
0xe2:
{
return
new string('\u2666',
1);
}
case
0xe3:
{
return
new string('"',
1);
}
case
0xe4:
{
return
new string('&',
1);
}
case
0xe5:
{
return
new string('<',
1);
}
case
230:
{
return
new string('>',
1);
}
case
0xe7:
{
return
new string('\u0152',
1);
}
case
0xe8:
{
return
new string('\u0153',
1);
}
case
0xe9:
{
return
new string('\u0160',
1);
}
case
0xea:
{
return
new string('\u0161',
1);
}
case
0xeb:
{
return
new string('\u0178',
1);
}
case
0xec:
{
return
new string('\u02c6',
1);
}
case
0xed:
{
return
new string('\u02dc',
1);
}
case
0xee:
{
return
new string('\u2002',
1);
}
case
0xef:
{
return
new string('\u2003',
1);
}
case
240:
{
return
new string('\u2009',
1);
}
case
0xf1:
{
return
new string('\u200c',
1);
}
case
0xf2:
{
return
new string('\u200d',
1);
}
case
0xf3:
{
return
new string('\u200e',
1);
}
case
0xf4:
{
return
new string('\u200f',
1);
}
case
0xf5:
{
return
new string('\u2013',
1);
}
case
0xf6:
{
return
new string('\x0097',
1);
}
case
0xf7:
{
return
new string('\u2018',
1);
}
case
0xf8:
{
return
new string('\u2019',
1);
}
case
0xf9:
{
return
new string('\u201a',
1);
}
case
250:
{
return
new string('\u201c',
1);
}
case
0xfb:
{
return
new string('\u201d',
1);
}
case
0xfc:
{
return
new string('\u201e',
1);
}
case
0xfd:
{
return
new string('\u2020',
1);
}
case
0xfe:
{
return
new string('\u2021',
1);
}
case
0xff:
{
return
new string('\u2030',
1);
}
case
0x100:
{
return
new string('\u2039',
1);
}
case
0x101:
{
return
new string('\u203a',
1);
}
case
0x102:
{
return
new string('\0',
1);
}
case
0x103:
{
return
new string('\x0001',
1);
}
case
260:
{
return
new string('\x0002',
1);
}
case
0x105:
{
return
new string('\x0003',
1);
}
case
0x106:
{
return
new string('\x0004',
1);
}
case
0x107:
{
return
new string('\x0005',
1);
}
case
0x108:
{
return
new string('\x0006',
1);
}
case
0x109:
{
return
new string('\a',
1);
}
case
0x10a:
{
return
new string('\b',
1);
}
case
0x10b:
{
return
new string('\t',
1);
}
case
0x10c:
{
return
new string('\n',
1);
}
case
0x10d:
{
return
new string('\v',
1);
}
case
270:
{
return
new string('\f',
1);
}
case
0x10f:
{
return
new string('\r',
1);
}
case
0x110:
{
return
new string('\x000e',
1);
}
case
0x111:
{
return
new string('\x000f',
1);
}
case
0x112:
{
return
new string('\x0010',
1);
}
case
0x113:
{
return
new string('\x0011',
1);
}
case
0x114:
{
return
new string('\x0012',
1);
}
case
0x115:
{
return
new string('\x0013',
1);
}
case
0x116:
{
return
new string('\x0014',
1);
}
case
0x117:
{
return
new string('\x0015',
1);
}
case
280:
{
return
new string('\x0016',
1);
}
case
0x119:
{
return
new string('\x0017',
1);
}
case
0x11a:
{
return
new string('\x0018',
1);
}
case
0x11b:
{
return
new string('\x0019',
1);
}
case
0x11c:
{
return
new string('\x001a',
1);
}
case
0x11d:
{
return
new string('\x001b',
1);
}
case
0x11e:
{
return
new string('\x001c',
1);
}
case
0x11f:
{
return
new string('\x001d',
1);
}
case
0x120:
{
return
new string('\x001e',
1);
}
case
0x121:
{
return
new string('\x001f',
1);
}
case
290:
{
return
new string(' ',
1);
}
case
0x123:
{
return
new string('!',
1);
}
case
0x124:
{
return
new string('"',
1);
}
case
0x125:
{
return
new string('#',
1);
}
case
0x126:
{
return
new string('$',
1);
}
case
0x127:
{
return
new string('%',
1);
}
case
0x128:
{
return
new string('&',
1);
}
case
0x129:
{
return
new string('\'',
1);
}
case
0x12a:
{
return
new string('(',
1);
}
case
0x12b:
{
return
new string(')',
1);
}
case
300:
{
return
new string('*',
1);
}
case
0x12d:
{
return
new string('+',
1);
}
case
0x12e:
{
return
new string(',',
1);
}
case
0x12f:
{
return
new string('-',
1);
}
case
0x130:
{
return
new string('.',
1);
}
case
0x131:
{
return
new string('/',
1);
}
case
0x132:
{
return
new string('0',
1);
}
case
0x133:
{
return
new string('1',
1);
}
case
0x134:
{
return
new string('2',
1);
}
case
0x135:
{
return
new string('3',
1);
}
case
310:
{
return
new string('4',
1);
}
case
0x137:
{
return
new string('5',
1);
}
case
0x138:
{
return
new string('6',
1);
}
case
0x139:
{
return
new string('7',
1);
}
case
0x13a:
{
return
new string('8',
1);
}
case
0x13b:
{
return
new string('9',
1);
}
case
0x13c:
{
return
new string(':',
1);
}
case
0x13d:
{
return
new string(';',
1);
}
case
0x13e:
{
return
new string('<',
1);
}
case
0x13f:
{
return
new string('=',
1);
}
case
320:
{
return
new string('>',
1);
}
case
0x141:
{
return
new string('?',
1);
}
case
0x142:
{
return
new string('@',
1);
}
case
0x143:
{
return
new string('A',
1);
}
case
0x144:
{
return
new string('B',
1);
}
case
0x145:
{
return
new string('C',
1);
}
case
0x146:
{
return
new string('D',
1);
}
case
0x147:
{
return
new string('E',
1);
}
case
0x148:
{
return
new string('F',
1);
}
case
0x149:
{
return
new string('G',
1);
}
case
330:
{
return
new string('H',
1);
}
case
0x14b:
{
return
new string('I',
1);
}
case
0x14c:
{
return
new string('J',
1);
}
case
0x14d:
{
return
new string('K',
1);
}
case
0x14e:
{
return
new string('L',
1);
}
case
0x14f:
{
return
new string('M',
1);
}
case
0x150:
{
return
new string('N',
1);
}
case
0x151:
{
return
new string('O',
1);
}
case
0x152:
{
return
new string('P',
1);
}
case
0x153:
{
return
new string('Q',
1);
}
case
340:
{
return
new string('R',
1);
}
case
0x155:
{
return
new string('S',
1);
}
case
0x156:
{
return
new string('T',
1);
}
case
0x157:
{
return
new string('U',
1);
}
case
0x158:
{
return
new string('V',
1);
}
case
0x159:
{
return
new string('W',
1);
}
case
0x15a:
{
return
new string('X',
1);
}
case
0x15b:
{
return
new string('Y',
1);
}
case
0x15c:
{
return
new string('Z',
1);
}
case
0x15d:
{
return
new string('[',
1);
}
case
350:
{
return
new string('\\',
1);
}
case
0x15f:
{
return
new string(']',
1);
}
case
0x160:
{
return
new string('^',
1);
}
case
0x161:
{
return
new string('_',
1);
}
case
0x162:
{
return
new string('`',
1);
}
case
0x163:
{
return
new string('a',
1);
}
case
0x164:
{
return
new string('b',
1);
}
case
0x165:
{
return
new string('c',
1);
}
case
0x166:
{
return
new string('d',
1);
}
case
0x167:
{
return
new string('e',
1);
}
case
360:
{
return
new string('f',
1);
}
case
0x169:
{
return
new string('g',
1);
}
case
0x16a:
{
return
new string('h',
1);
}
case
0x16b:
{
return
new string('i',
1);
}
case
0x16c:
{
return
new string('j',
1);
}
case
0x16d:
{
return
new string('k',
1);
}
case
0x16e:
{
return
new string('l',
1);
}
case
0x16f:
{
return
new string('m',
1);
}
case
0x170:
{
return
new string('n',
1);
}
case
0x171:
{
return
new string('o',
1);
}
case
370:
{
return
new string('p',
1);
}
case
0x173:
{
return
new string('q',
1);
}
case
0x174:
{
return
new string('r',
1);
}
case
0x175:
{
return
new string('s',
1);
}
case
0x176:
{
return
new string('t',
1);
}
case
0x177:
{
return
new string('u',
1);
}
case
0x178:
{
return
new string('v',
1);
}
case
0x179:
{
return
new string('w',
1);
}
case
0x17a:
{
return
new string('x',
1);
}
case
0x17b:
{
return
new string('y',
1);
}
case
380:
{
return
new string('z',
1);
}
case
0x17d:
{
return
new string('{',
1);
}
case
0x17e:
{
return
new string('|',
1);
}
case
0x17f:
{
return
new string('}',
1);
}
case
0x180:
{
return
new string('~',
1);
}
case
0x181:
{
return
new string('\x007f',
1);
}
case
0x182:
{
return
new string('\x0080',
1);
}
case
0x183:
{
return
new string('\x0081',
1);
}
case
0x184:
{
return
new string('\x0082',
1);
}
case
0x185:
{
return
new string('\x0083',
1);
}
case
390:
{
return
new string('\x0084',
1);
}
case
0x187:
{
return
new string('\x0085',
1);
}
case
0x188:
{
return
new string('\x0086',
1);
}
case
0x189:
{
return
new string('\x0087',
1);
}
case
0x18a:
{
return
new string('\x0088',
1);
}
case
0x18b:
{
return
new string('\x0089',
1);
}
case
0x18c:
{
return
new string('\x008a',
1);
}
case
0x18d:
{
return
new string('\x008b',
1);
}
case
0x18e:
{
return
new string('\x008c',
1);
}
case
0x18f:
{
return
new string('\x008d',
1);
}
case
400:
{
return
new string('\x008e',
1);
}
case
0x191:
{
return
new string('\x008f',
1);
}
case
0x192:
{
return
new string('\x0090',
1);
}
case
0x193:
{
return
new string('\x0091',
1);
}
case
0x194:
{
return
new string('\x0092',
1);
}
case
0x195:
{
return
new string('\x0093',
1);
}
case
0x196:
{
return
new string('\x0094',
1);
}
case
0x197:
{
return
new string('\x0095',
1);
}
case
0x198:
{
return
new string('\x0096',
1);
}
case
0x199:
{
return
new string('\x0097',
1);
}
case
410:
{
return
new string('\x0098',
1);
}
case
0x19b:
{
return
new string('\x0099',
1);
}
case
0x19c:
{
return
new string('\x009a',
1);
}
case
0x19d:
{
return
new string('\x009b',
1);
}
case
0x19e:
{
return
new string('\x009c',
1);
}
case
0x19f:
{
return
new string('\x009d',
1);
}
case
0x1a0:
{
return
new string('\x009e',
1);
}
case
0x1a1:
{
return
new string('\x009f',
1);
}
case
0x1a2:
{
return
new string('\x00a0',
1);
}
case
0x1a3:
{
return
new string('\x00a1',
1);
}
case
420:
{
return
new string('\x00a2',
1);
}
case
0x1a5:
{
return
new string('\x00a3',
1);
}
case
0x1a6:
{
return
new string('\x00a4',
1);
}
case
0x1a7:
{
return
new string('\x00a5',
1);
}
case
0x1a8:
{
return
new string('\x00a6',
1);
}
case
0x1a9:
{
return
new string('\x00a7',
1);
}
case
0x1aa:
{
return
new string('\x00a8',
1);
}
case
0x1ab:
{
return
new string('\x00a9',
1);
}
case
0x1ac:
{
return
new string('\x00aa',
1);
}
case
0x1ad:
{
return
new string('\x00ab',
1);
}
case
430:
{
return
new string('\x00ac',
1);
}
case
0x1af:
{
return
new string('\x00ad',
1);
}
case
0x1b0:
{
return
new string('\x00ae',
1);
}
case
0x1b1:
{
return
new string('\x00af',
1);
}
case
0x1b2:
{
return
new string('\x00b0',
1);
}
case
0x1b3:
{
return
new string('\x00b1',
1);
}
case
0x1b4:
{
return
new string('\x00b2',
1);
}
case
0x1b5:
{
return
new string('\x00b3',
1);
}
case
0x1b6:
{
return
new string('\x00b4',
1);
}
case
0x1b7:
{
return
new string('\x00b5',
1);
}
case
440:
{
return
new string('\x00b6',
1);
}
case
0x1b9:
{
return
new string('\x00b7',
1);
}
case
0x1ba:
{
return
new string('\x00b8',
1);
}
case
0x1bb:
{
return
new string('\x00b9',
1);
}
case
0x1bc:
{
return
new string('\x00ba',
1);
}
case
0x1bd:
{
return
new string('\x00bb',
1);
}
case
0x1be:
{
return
new string('\x00bc',
1);
}
case
0x1bf:
{
return
new string('\x00bd',
1);
}
case
0x1c0:
{
return
new string('\x00be',
1);
}
case
0x1c1:
{
return
new string('\x00bf',
1);
}
case
450:
{
return
new string('\x00c0',
1);
}
case
0x1c3:
{
return
new string('\x00c1',
1);
}
case
0x1c4:
{
return
new string('\x00c2',
1);
}
case
0x1c5:
{
return
new string('\x00c3',
1);
}
case
0x1c6:
{
return
new string('\x00c4',
1);
}
case
0x1c7:
{
return
new string('\x00c5',
1);
}
case
0x1c8:
{
return
new string('\x00c6',
1);
}
case
0x1c9:
{
return
new string('\x00c7',
1);
}
case
0x1ca:
{
return
new string('\x00c8',
1);
}
case
0x1cb:
{
return
new string('\x00c9',
1);
}
case
460:
{
return
new string('\x00ca',
1);
}
case
0x1cd:
{
return
new string('\x00cb',
1);
}
case
0x1ce:
{
return
new string('\x00cc',
1);
}
case
0x1cf:
{
return
new string('\x00cd',
1);
}
case
0x1d0:
{
return
new string('\x00ce',
1);
}
case
0x1d1:
{
return
new string('\x00cf',
1);
}
case
0x1d2:
{
return
new string('\x00d0',
1);
}
case
0x1d3:
{
return
new string('\x00d1',
1);
}
case
0x1d4:
{
return
new string('\x00d2',
1);
}
case
0x1d5:
{
return
new string('\x00d3',
1);
}
case
470:
{
return
new string('\x00d4',
1);
}
case
0x1d7:
{
return
new string('\x00d5',
1);
}
case
0x1d8:
{
return
new string('\x00d6',
1);
}
case
0x1d9:
{
return
new string('\x00d7',
1);
}
case
0x1da:
{
return
new string('\x00d8',
1);
}
case
0x1db:
{
return
new string('\x00d9',
1);
}
case
0x1dc:
{
return
new string('\x00da',
1);
}
case
0x1dd:
{
return
new string('\x00db',
1);
}
case
0x1de:
{
return
new string('\x00dc',
1);
}
case
0x1df:
{
return
new string('\x00dd',
1);
}
case
480:
{
return
new string('\x00de',
1);
}
case
0x1e1:
{
return
new string('\x00df',
1);
}
case
0x1e2:
{
return
new string('\x00e0',
1);
}
case
0x1e3:
{
return
new string('\x00e1',
1);
}
case
0x1e4:
{
return
new string('\x00e2',
1);
}
case
0x1e5:
{
return
new string('\x00e3',
1);
}
case
0x1e6:
{
return
new string('\x00e4',
1);
}
case
0x1e7:
{
return
new string('\x00e5',
1);
}
case
0x1e8:
{
return
new string('\x00e6',
1);
}
case
0x1e9:
{
return
new string('\x00e7',
1);
}
case
490:
{
return
new string('\x00e8',
1);
}
case
0x1eb:
{
return
new string('\x00e9',
1);
}
case
0x1ec:
{
return
new string('\x00ea',
1);
}
case
0x1ed:
{
return
new string('\x00eb',
1);
}
case
0x1ee:
{
return
new string('\x00ec',
1);
}
case
0x1ef:
{
return
new string('\x00ed',
1);
}
case
0x1f0:
{
return
new string('\x00ee',
1);
}
case
0x1f1:
{
return
new string('\x00ef',
1);
}
case
0x1f2:
{
return
new string('\x00f0',
1);
}
case
0x1f3:
{
return
new string('\x00f1',
1);
}
case
500:
{
return
new string('\x00f2',
1);
}
case
0x1f5:
{
return
new string('\x00f3',
1);
}
case
0x1f6:
{
return
new string('\x00f4',
1);
}
case
0x1f7:
{
return
new string('\x00f5',
1);
}
case
0x1f8:
{
return
new string('\x00f6',
1);
}
case
0x1f9:
{
return
new string('\x00f7',
1);
}
case
0x1fa:
{
return
new string('\x00f8',
1);
}
case
0x1fb:
{
return
new string('\x00f9',
1);
}
case
0x1fc:
{
return
new string('\x00fa',
1);
}
case
0x1fd:
{
return
new string('\x00fb',
1);
}
case
510:
{
return
new string('\x00fc',
1);
}
case
0x1ff:
{
return
new string('\x00fd',
1);
}
case
0x200:
{
return
new string('\x00fe',
1);
}
case
0x201:
{
return
new string('\x00ff',
1);
}
}
}
if
(A_0[1] != '#')
{
return
A_0;
}
if (A_0.Length ==
3)
{
return
"&#;";
}
try
{
char
ch1 = (char) ((ushort) short.Parse(A_0.Substring(2, A_0.Length -
3)));
text1 =
ch1.ToString();
}
catch
{
text1
= A_0;
}
return
text1;
}
private string a(params
char[] A_0)
{
if (this.fg >=
this.ff)
{
return
"";
}
int num1 =
this.fd.IndexOfAny(A_0, this.fg);
if (num1 ==
-1)
{
return
this.e();
}
int num2 =
this.fd.IndexOf('<', this.fg, (int) (num1 -
this.fg));
if (num2 !=
-1)
{
num1 =
num2;
}
string text1 =
this.fd.Substring(this.fg, num1 - this.fg);
this.fg =
num1 + 1;
return
text1;
}
private void a(XmlElement
A_0)
{
string text1 =
this.b();
if (text1 !=
null)
{
this.fg +=
text1.Length;
A_0.AppendChild(this.fc.CreateProcessingInstruction(text1,
this.a('>')));
}
else
{
A_0.AppendChild(this.fc.CreateTextNode("<?"));
}
}
private
void a(XmlElement A_0, string A_1, string
A_2)
{
A_1 =
A_1.ToLower();
if (A_1.IndexOf(':') ==
-1)
{
A_0.SetAttribute(A_1,
A_2);
}
else
{
char[]
chArray1 = new char[1] { ':' } ;
string[]
textArray1 = A_1.Split(chArray1, 2);
string
text1 = textArray1[0];
string text2 =
textArray1[1];
if (text1 ==
"")
{
A_0.SetAttribute(text2,
A_2);
}
else if
(text2 ==
"")
{
A_0.SetAttribute(text1,
A_2);
}
else
{
A_0.SetAttribute(text2,
A_2);
}
}
}
private
string b()
{
int num1 =
this.ff;
if (this.fg >=
num1)
{
return
null;
}
char ch1 =
this.fd[this.fg];
if (((ch1 < 'a') || (ch1 >
'z')) && ((ch1 < 'A') || (ch1 >
'Z')))
{
return
null;
}
int num2 = this.fg +
1;
while (num2 <
num1)
{
ch1 =
this.fd[num2];
if ((((ch1 < 'a') || (ch1
> 'z')) && ((ch1 < 'A') || (ch1 > 'Z'))) &&
(((ch1 < '0') || (ch1 > '9')) && (((ch1 != '_') &&
(ch1 != '-')) && ((ch1 != '.') && (ch1 !=
':')))))
{
break;
}
num2++;
}
return
this.fd.Substring(this.fg, num2 -
this.fg);
}
private string b(char
A_0)
{
if (this.fg >=
this.ff)
{
return
"";
}
int num1 =
this.fd.IndexOf(A_0, this.fg);
if (num1 ==
-1)
{
return
this.f();
}
string text1 =
this.fd.Substring(this.fg, num1 - this.fg);
this.fg =
num1 + 1;
return
text1;
}
private static string
b(string A_0)
{
if (A_0 ==
null)
{
return
null;
}
if (A_0 ==
"")
{
return
"";
}
StringBuilder builder1 =
new StringBuilder();
int num1 =
A_0.Length;
int num2 = 0;
for
(int num3 = A_0.IndexOf('&'); num3 != -1; num3 = A_0.IndexOf('&',
num2))
{
int num4 =
A_0.IndexOfAny(SafeHtmlParser.fh, num3 + 1);
if
(num4 ==
-1)
{
break;
}
if
(A_0[num4] ==
'&')
{
builder1.Append(A_0,
num2, (int) (num4 - num2));
num3 =
num4;
continue;
}
if
(num2 !=
num3)
{
builder1.Append(A_0,
num2, (int) (num3 -
num2));
}
builder1.Append(SafeHtmlParser.a(A_0.Substring(num3,
(num4 + 1) - num3)));
num2 = num4 +
1;
if (num2 >=
num1)
{
break;
}
}
if
(num2 <
num1)
{
builder1.Append(A_0,
num2, (int) (num1 -
num2));
}
return
builder1.ToString();
}
private
void b(XmlElement A_0)
{
if
(string.Compare(this.fd, this.fg, "[CDATA[", 0, 7, true) ==
0)
{
this.fg +=
7;
A_0.AppendChild(this.fc.CreateCDataSection(this.c("]]>")));
}
else
if (string.Compare(this.fd, this.fg, "--", 0, "--".Length, true) ==
0)
{
this.fg +=
2;
string text1 =
this.c("-->");
if (text1.IndexOf("--") !=
-1)
{
text1 =
text1.Replace("--", "-
-");
}
if
(text1.StartsWith("-") ||
text1.EndsWith("-"))
{
text1
= " " + text1 + "
";
}
A_0.AppendChild(this.fc.CreateComment(text1));
}
else
{
string
text2 = this.b();
if (text2 !=
null)
{
this.fg
+=
text2.Length;
try
{
A_0.AppendChild(this.fc.CreateDocumentType(text2,
null, null,
this.a('>')));
}
catch
{
}
}
else
{
A_0.AppendChild(this.fc.CreateTextNode("<!"));
}
}
}
private
string c()
{
int num1 =
this.ff;
int num2 =
this.fg;
while (num2 <
num1)
{
char ch1 =
this.fd[num2];
if
(!char.IsWhiteSpace(ch1))
{
break;
}
num2++;
}
if
(num2 == this.fg)
{
return
null;
}
return
this.fd.Substring(this.fg, num2 -
this.fg);
}
private string
c(string A_0)
{
if (this.fg >=
this.ff)
{
return
"";
}
int num1 =
this.fd.IndexOf(A_0, this.fg);
if (num1 ==
-1)
{
return
this.e();
}
int num2 =
this.fd.IndexOf('<', this.fg, (int) (num1 -
this.fg));
if (num2 !=
-1)
{
num1 =
num2;
}
string text1 =
this.fd.Substring(this.fg, num1 - this.fg);
this.fg =
num1 + A_0.Length;
return
text1;
}
private void c(XmlElement
A_0)
{
while (this.fg <
this.ff)
{
this.d();
string
text1 = this.b();
if (text1 ==
null)
{
return;
}
this.fg
+=
text1.Length;
this.d();
if
(this.fg >=
this.ff)
{
this.a(A_0,
text1,
text1);
return;
}
if
(this.fd[this.fg] ==
'=')
{
string
text2;
this.fg++;
this.d();
if
(this.fg >=
this.ff)
{
this.a(A_0,
text1,
text1);
return;
}
char
ch1 = this.fd[this.fg];
if ((ch1 == '"')
|| (ch1 ==
'\''))
{
this.fg++;
char[]
chArray1 = new char[2] { '>', ch1 }
;
text2 =
this.a(chArray1);
if ((this.fg <
this.ff) && (this.fd[this.fg] ==
ch1))
{
this.fg++;
}
}
else
if (ch1 ==
'>')
{
text2
=
null;
}
else
{
text2
=
this.g();
}
if
(text2 ==
null)
{
text2
=
"";
}
else
{
text2
=
SafeHtmlParser.b(text2);
}
this.a(A_0,
text1,
text2);
}
}
}
private
string d()
{
string text1 =
this.c();
if (text1 ==
null)
{
return
null;
}
this.fg +=
text1.Length;
return
text1;
}
private void d(string
A_0)
{
if (((this.fg + 1) <=
this.ff) && ((this.fd[this.fg] == '<') &&
(this.fd[this.fg + 1] ==
'/')))
{
int num1 =
this.fg;
this.fg +=
2;
string text1 =
this.b();
if (text1 !=
null)
{
this.fg
+=
text1.Length;
this.d();
if
((this.fg < this.ff) && (this.fd[this.fg] ==
'>'))
{
this.fg++;
}
if
(string.Compare(text1, A_0, true) ==
0)
{
return;
}
}
this.fg
=
num1;
}
}
private
void d(XmlElement A_0)
{
int num1 =
this.ff;
if (this.fg <
num1)
{
char ch1 =
this.fd[this.fg];
if (ch1 ==
'!')
{
this.fg++;
this.b(A_0);
return;
}
if
(ch1 ==
'?')
{
this.fg++;
this.a(A_0);
return;
}
string
text1 = this.b();
if (text1 !=
null)
{
this.fg
+= text1.Length;
XmlElement element1 =
this.e(text1);
string text2 =
element1.LocalName.ToUpper();
A_0.AppendChild(element1);
this.c(element1);
if
(this.fg <
num1)
{
ch1
= this.fd[this.fg];
if (ch1 ==
'/')
{
this.fg++;
if
((this.fg < num1) && (this.fd[this.fg] ==
'>'))
{
this.fg++;
}
return;
}
if
(ch1 ==
'>')
{
this.fg++;
}
if
(this.fg >=
num1)
{
return;
}
if
(",LINK,META,BASE,BGSOUND,BR,HR,INPUT,PARAM,IMG,AREA,".IndexOf("," + text2
+ ",") !=
-1)
{
return;
}
if
(text2 ==
"SCRIPT")
{
string
text3;
int num2 =
this.fe.IndexOf("</script",
this.fg);
if (num2 ==
-1)
{
text3
=
this.f();
}
else
if (num2 ==
this.fg)
{
text3
=
"";
}
else
{
text3
= this.fd.Substring(this.fg, num2 -
this.fg);
this.fg =
num2;
}
text3
= text3.Replace("/*<![CDATA[*/", "").Replace("/*]]>*/",
"").Trim().Replace("]]>",
"]]>");
element1.AppendChild(this.fc.CreateTextNode("/*"));
element1.AppendChild(this.fc.CreateCDataSection("*/\r\n"
+ text3 +
"\r\n/*"));
element1.AppendChild(this.fc.CreateTextNode("*/"));
}
else
{
this.e(element1);
if
((",IFRAME,A,P,DIV,OBJECT,ADDRESS,BIG,BLOCKQUOTE,B,CAPTION,CENTER,CITE,CODE,\r\n\t\t\t\t\t\t\t\t\t,DD,DFN,DIR,DL,DT,EM,FONT,FORM,H1,H2,H3,H4,H5,H6,HEAD,HTML,I,LI,MAP,MENU,OL,OPTION,\r\n\t\t\t\t\t\t\t\t\t,PRE,SELECT,SMALL,STRIKE,STRONG,SUB,SUP,TABLE,TD,TEXTAREA,TH,TITLE,TR,TT,U,".IndexOf(","
+ text2 + ",") != -1) && (element1.ChildNodes.Count ==
0))
{
element1.AppendChild(this.fc.CreateTextNode(""));
}
}
this.d(text1);
}
return;
}
}
A_0.AppendChild(this.fc.CreateTextNode("<"));
}
private
string e()
{
if (this.fg >=
this.ff)
{
return
"";
}
if (this.fd[this.fg] ==
'<')
{
return
"";
}
int num1 =
this.fd.IndexOf('<', this.fg);
if (num1 !=
-1)
{
string text1 =
this.fd.Substring(this.fg, num1 -
this.fg);
this.fg =
num1;
return
text1;
}
string text2 =
this.fd.Substring(this.fg);
this.fg =
this.ff;
return
text2;
}
private XmlElement
e(string A_0)
{
XmlElement
element1;
A_0 =
A_0.ToLower();
try
{
if
(A_0.IndexOf(":") ==
-1)
{
return
this.fc.CreateElement(A_0);
}
char[]
chArray1 = new char[1] { ':' } ;
string[]
textArray1 = A_0.Split(chArray1, 2);
string
text1 = textArray1[0];
string text2 =
textArray1[1];
if (text2.IndexOf(":") !=
-1)
{
text2 =
text2.Replace(':',
'-');
}
if (text2 ==
"")
{
this.fc.CreateElement(text1);
}
if
(text1 ==
"")
{
return
this.fc.CreateElement(text2);
}
element1
= this.fc.CreateElement(text1, text2, "http://unknownprefix/" +
text1);
}
catch
{
element1
=
this.fc.CreateElement("error");
}
return
element1;
}
private void
e(XmlElement A_0)
{
int num1 =
this.ff;
while (this.fg <
num1)
{
char ch1 =
this.fd[this.fg];
if (ch1 ==
'<')
{
if
(((this.fg + 1) < num1) && (this.fd[this.fg + 1] ==
'/'))
{
return;
}
this.fg++;
this.d(A_0);
continue;
}
string
text1 = this.d();
string text2 =
this.a();
if (text2 ==
null)
{
if
(text1 ==
null)
{
this.fg++;
}
continue;
}
this.fg
+=
text2.Length;
A_0.AppendChild(this.fc.CreateTextNode(text1
+
SafeHtmlParser.b(text2)));
}
}
private
string f()
{
if (this.fg <
this.ff)
{
string text1 =
this.fd.Substring(this.fg);
this.fg =
this.ff;
return
text1;
}
return
"";
}
private string
g()
{
int num1 =
this.fg;
while (this.fg <
this.ff)
{
char ch1 =
this.fd[this.fg];
if ((ch1 == '>') ||
char.IsWhiteSpace(ch1))
{
break;
}
this.fg++;
}
if
(num1 == this.fg)
{
return
null;
}
return
this.fd.Substring(num1, this.fg -
num1);
}
private void
h()
{
if (((this.fg + 1) <=
this.ff) && ((this.fd[this.fg] == '<') &&
(this.fd[this.fg + 1] ==
'/')))
{
this.fg +=
2;
string text1 =
this.b();
if (text1 !=
null)
{
this.fg
+=
text1.Length;
this.d();
if
((this.fg < this.ff) && (this.fd[this.fg] ==
'>'))
{
this.fg++;
}
}
}
}
public
static void ParseHtml(XmlElement element, string
xmlstring)
{
if (element ==
null)
{
throw new
ArgumentNullException("element");
}
if
(xmlstring ==
null)
{
throw new
ArgumentNullException("xmlstring");
}
SafeHtmlParser
parser1 = new SafeHtmlParser();
parser1.fc =
element.OwnerDocument;
parser1.fd =
xmlstring;
parser1.fe =
xmlstring.ToLower();
parser1.ff =
xmlstring.Length;
parser1.fg =
0;
while
(true)
{
parser1.e(element);
if
(parser1.fg >=
parser1.ff)
{
return;
}
parser1.h();
}
}
// Fields
private const string fa =
",LINK,META,BASE,BGSOUND,BR,HR,INPUT,PARAM,IMG,AREA,";
private
const string fb =
",IFRAME,A,P,DIV,OBJECT,ADDRESS,BIG,BLOCKQUOTE,B,CAPTION,CENTER,CITE,CODE,\r\n\t\t\t\t\t\t\t\t\t,DD,DFN,DIR,DL,DT,EM,FONT,FORM,H1,H2,H3,H4,H5,H6,HEAD,HTML,I,LI,MAP,MENU,OL,OPTION,\r\n\t\t\t\t\t\t\t\t\t,PRE,SELECT,SMALL,STRIKE,STRONG,SUB,SUP,TABLE,TD,TEXTAREA,TH,TITLE,TR,TT,U,";
private
XmlDocument fc;
private string fd;
private
string fe;
private int ff;
private int
fg;
private static char[]
fh;
}
}