📄 tagencoder.cs
字号:
namespace Imps.Utils.TagParser
{
using System;
using System.IO;
using System.Text;
internal abstract class TagEncoder
{
protected TagEncoder()
{
}
public static string DecodeValue(string value)
{
if (string.IsNullOrEmpty(value))
{
return value;
}
StringBuilder builder = new StringBuilder();
StringReader reader = new StringReader(value);
int num = reader.Read();
while (num != -1)
{
StringBuilder builder2 = new StringBuilder();
while ((num != 0x26) && (num != -1))
{
builder2.Append((char) num);
num = reader.Read();
}
builder.Append(builder2.ToString());
if (num == 0x26)
{
builder2 = new StringBuilder();
while ((num != 0x3b) && (num != -1))
{
builder2.Append((char) num);
num = reader.Read();
}
if (num == 0x3b)
{
num = reader.Read();
builder2.Append(';');
if (builder2[1] == '#')
{
int num2 = int.Parse(builder2.ToString().Substring(2, builder2.Length - 3));
builder.Append((char) num2);
}
else
{
switch (builder2.ToString())
{
case "<":
{
builder.Append("<");
continue;
}
case ">":
{
builder.Append(">");
continue;
}
case """:
{
builder.Append("\"");
continue;
}
case "&":
{
builder.Append("&");
continue;
}
case "Á":
{
builder.Append('\x00c1');
continue;
}
case "á":
{
builder.Append('\x00e1');
continue;
}
case "Â":
{
builder.Append('\x00c2');
continue;
}
case "â":
{
builder.Append('\x00e2');
continue;
}
case "´":
{
builder.Append('\x00b4');
continue;
}
case "Æ":
{
builder.Append('\x00c6');
continue;
}
case "æ":
{
builder.Append('\x00e6');
continue;
}
case "À":
{
builder.Append('\x00c0');
continue;
}
case "à":
{
builder.Append('\x00e0');
continue;
}
case "ℵ":
{
builder.Append('ℵ');
continue;
}
case "Α":
{
builder.Append('Α');
continue;
}
case "α":
{
builder.Append('α');
continue;
}
case "∧":
{
builder.Append('∧');
continue;
}
case "∠":
{
builder.Append('∠');
continue;
}
case "Å":
{
builder.Append('\x00c5');
continue;
}
case "å":
{
builder.Append('\x00e5');
continue;
}
case "≈":
{
builder.Append('≈');
continue;
}
case "Ã":
{
builder.Append('\x00c3');
continue;
}
case "ã":
{
builder.Append('\x00e3');
continue;
}
case "Ä":
{
builder.Append('\x00c4');
continue;
}
case "ä":
{
builder.Append('\x00e4');
continue;
}
case "„":
{
builder.Append('„');
continue;
}
case "Β":
{
builder.Append('Β');
continue;
}
case "β":
{
builder.Append('β');
continue;
}
case "¦":
{
builder.Append('\x00a6');
continue;
}
case "•":
{
builder.Append('•');
continue;
}
case "∩":
{
builder.Append('∩');
continue;
}
case "Ç":
{
builder.Append('\x00c7');
continue;
}
case "ç":
{
builder.Append('\x00e7');
continue;
}
case "¸":
{
builder.Append('\x00b8');
continue;
}
case "¢":
{
builder.Append('\x00a2');
continue;
}
case "Χ":
{
builder.Append('Χ');
continue;
}
case "χ":
{
builder.Append('χ');
continue;
}
case "ˆ":
{
builder.Append('ˆ');
continue;
}
case "♣":
{
builder.Append('♣');
continue;
}
case "≅":
{
builder.Append('≅');
continue;
}
case "©":
{
builder.Append('\x00a9');
continue;
}
case "↵":
{
builder.Append('↵');
continue;
}
case "∪":
{
builder.Append('∪');
continue;
}
case "¤":
{
builder.Append('\x00a4');
continue;
}
case "†":
{
builder.Append('†');
continue;
}
case "‡":
{
builder.Append('‡');
continue;
}
case "↓":
{
builder.Append('↓');
continue;
}
case "⇓":
{
builder.Append('⇓');
continue;
}
case "°":
{
builder.Append('\x00b0');
continue;
}
case "Δ":
{
builder.Append('Δ');
continue;
}
case "δ":
{
builder.Append('δ');
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -