(.NET)检测编码的还原的代码

Program
=======================我是分隔符==========================
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace TestCharactor
{
class Program
{
static void Main(string[] args)
{
string sOrig = Common4RunTime.ReadFromFile(".\\TestComp.txt");

int iStart = 0, iLength = 0;
int iCompareTime = 150000;
Console.WriteLine("Compare time is: {0}.",iCompareTime.ToString());
foreach (Encoding encoding in Common4RunTime.ListEncoding)
{
ListCompare listComp = new ListCompare();
for (int i = 0; i < iCompareTime; i++)
{
long tick = DateTime.Now.Ticks;
Random ran = new Random((int)(tick & 0xffffffffL) | (int)(tick >> 32));

iStart = ran.Next(0, sOrig.Length);
iLength = ran.Next(0, sOrig.Length - iStart);

string sComp = sOrig.Substring(iStart, iLength);
listComp.ListComparePair.Add(new CompareEncoding(encoding, sComp));
}

Console.WriteLine("Current use encoding: {0}, and equal result is: {1}", encoding.ToString(), listComp.IsAllReduced.ToString());
}

Console.WriteLine("\r\nThe Operation of comparing has been completed!");
Console.ReadLine();
}
}
}
=======================我是分隔符==========================
Common4RunTime

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;

namespace TestCharactor
{
public static class Common4RunTime
{
public static List<Encoding> ListEncoding
{
get
{
List<Encoding> list = new List<Encoding>();

//list.Add(Encoding.Default);
//list.Add(Encoding.ASCII);
list.Add(Encoding.BigEndianUnicode);
list.Add(Encoding.Unicode);
list.Add(Encoding.UTF32);
list.Add(Encoding.UTF7);
list.Add(Encoding.UTF8);

return list;
}
}

public static string ReadFromFile(string filePath)
{
using (StreamReader sr = new StreamReader(filePath))
return sr.ReadToEnd();
}
}
}

=======================我是分隔符==========================
CompareEncoding

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace TestCharactor
{
public class CompareEncoding
{
public Encoding TheEncoding { get; set; }
public string OriginalString { get; set; }

public string ReductionString
{
get { return TheEncoding.GetString(TheEncoding.GetBytes(OriginalString)); }
}
public bool IsEqual
{
get { return OriginalString == ReductionString; }
}

public CompareEncoding(Encoding encoding, string originalString)
{
TheEncoding = encoding;
OriginalString = originalString;
}
}
}


=======================我是分隔符==========================
ListCompare

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace TestCharactor
{
public class ListCompare
{
public List<CompareEncoding> ListComparePair { get; set; }
public bool IsAllReduced
{
get
{
return ListNotEqualComp.Count == 0;
}
}

public List<CompareEncoding> ListNotEqualComp
{
get
{
List<CompareEncoding> list = new List<CompareEncoding>();
foreach (CompareEncoding ce in ListComparePair)
if (!ce.IsEqual)
list.Add(ce);

return list;
}
}

public ListCompare()
{
ListComparePair = new List<CompareEncoding>();
}
}
}

=======================我是分隔符==========================


=======================我是分隔符==========================
=======================我是分隔符==========================
=======================我是分隔符==========================
=======================我是分隔符==========================
=======================我是分隔符==========================
=======================我是分隔符==========================
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值