(.NET)检测编码的复原的代码
(.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>();
}
}
}
=======================我是分隔符==========================
=======================我是分隔符==========================
=======================我是分隔符==========================
=======================我是分隔符==========================
=======================我是分隔符==========================
=======================我是分隔符==========================
=======================我是分隔符==========================
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>();
}
}
}
=======================我是分隔符==========================
=======================我是分隔符==========================
=======================我是分隔符==========================
=======================我是分隔符==========================
=======================我是分隔符==========================
=======================我是分隔符==========================
=======================我是分隔符==========================