`
october731
  • 浏览: 86706 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

(.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>();
        }
    }
}

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


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

分享到:
评论

相关推荐

    C#写的编码转换工具(源代码)

    这时可以使用第三方库,如`ICU4N`或`CharDet.NET`,它们提供了检测文件编码的算法。 3. **转换编码**:获取到原始文本后,可以使用`Encoding`对象的`GetBytes`方法将文本转换为字节数组,然后用目标编码的`...

    .net反编译工具dnSpy.rar

    这种反编译的能力来自于它基于ILSpy的反编译引擎,保证了还原代码的质量,使得阅读和理解变得简单明了。 IL代码是.NET框架中的中间语言代码,它是.NET程序在编译后的一种形式。它允许.NET应用程序在不同的平台上...

    DataMatrix二维条码编码和解码源代码(C#)

    接着,通过检测模块的黑白色分布来识别条码的网格结构,然后按照错误纠正算法还原数据。这个过程中可能会涉及到模板匹配和二值化等图像处理技术。 "DataMatrix.net"这个文件可能是包含C#实现DataMatrix编码解码功能...

    基于.NET的Barcode Image 条形码类库源代码

    "基于.NET的Barcode Image 条形码类库源代码"是一个专门为此目的设计的软件组件,它允许程序员通过简单的API调用来创建和显示条形码图像。本文将深入探讨这个类库的核心概念、功能和使用方法。 1. **核心概念**: ...

    datamatrix编码和解码的程序,没有原码.zip

    - 文件I/O:保存和读取编码后的Datamatrix图像,以及解码后还原的数据。 3. .NET Framework与库支持: C#开发者可以利用.NET Framework提供的库,如ZXing.NET(Zebra Crossing),这是一个跨平台的条码和二维码...

    C#.net udp 点对点聊天程序

    6. **数据编码与解码**:在发送和接收数据时,通常需要将字符串或其他类型的数据转换为字节流,再由字节流还原。可以使用Encoding类进行ASCII、UTF-8或Unicode等编码格式的转换。 7. **异常处理**:在编写网络程序...

    .Net源码加密混淆器

    1. **IL混淆**:通过对IL代码进行深度混淆,使得反编译工具无法轻易还原出原始的C#代码。 2. **资源加密**:对嵌入到程序集中的资源如图片、文本等进行加密,防止直接读取。 3. **字符串加密**:将字符串常量加密...

    UniEncoder解码库-可以快速解码和编码

    - **解码**:与编码相反,它是将已编码的数据还原为原始形式的过程。确保正确解码的关键在于知道数据最初是如何编码的。 2. **C#中的编码和解码** - **System.Text.Encoding类库**:C#标准库中包含了多个Encoding...

    asp编码解码器VVSOFTAspDecoder.rar

    VVSOFT AspDecoder可以帮助我们快速地将这些编码后的代码还原,以便进行正常的编辑和调试。 这款软件的主要功能可能包括: 1. **编码转换**:可以将ASP代码从一种编码方式转换为另一种,例如从Base64编码转换为...

    asp.net的加密解密技巧

    解密则是将加密后的数据还原为原始形态。***为开发者提供了一系列加密和解密的工具和算法。 在数据加密领域,有一系列的加密算法。首先是密钥算法,该类算法使用密钥来加密敏感数据、数据摘要和签名等信息。其中...

    QRCode二维码生成DLL 解决全中文乱码 源码奉上,经过Reflector反编译分析

    为了解决这个问题,开发者需要确保在生成二维码时,正确地将中文字符串转换为二维码可识别的编码格式,如UTF-8,并在解码时同样使用正确的编码还原数据。 Reflector是一款强大的.NET反编译工具,它可以帮助我们查看...

    ILSpy 反编译利器

    2. **反编译质量**:两者都提供高质量的反编译,但ILSpy在某些情况下可能提供更准确的代码还原。 3. **社区支持**:由于ILSpy的开源性质,它有活跃的社区不断改进和添加新功能。 4. **跨平台**:ILSpy支持Windows...

    C#语音通信源代码案例资料

    通过深入研究这个"C#语音通信源代码案例资料",开发者不仅可以掌握C#语言在语音通信领域的应用,还能学习到如何结合ASP.NET构建Web服务,利用SQL管理和查询数据库,以及如何优化和调试源代码以实现高效稳定的语音...

    Unicode转化程序

    Reflector是一款知名的.NET反编译器,它能够将.NET框架中的编译后的IL(中间语言)代码还原成易于理解的源代码,这对于开发者进行代码分析、学习和调试非常有帮助。然而,根据描述,Reflector在处理Unicode编码的...

    C#语音通信源代码

    编码后,接收端需要解码这些数据,还原成原始音频。在C#中,可以使用`Bass.Net`库来处理音频编码和解码。 3. **网络传输**:为了实现实时语音通信,需要将编码后的音频数据通过网络发送到另一端。这通常涉及TCP或...

    C#语音聊天程序

    在C#中,可以使用.NET Framework提供的System.Net.Sockets命名空间来操作Socket对象。创建Socket对象,然后通过Connect方法连接到服务器,Send和Receive方法用于发送和接收数据。为了处理语音数据,可能还会用到...

    FREESECS 开源hsms代码

    "SEMI SECS协议库"的核心作用是提供一组预定义的类和方法,用于处理SECS消息的编码、解码以及传输。开发者可以利用这些工具轻松地在设备和主机间建立通信链路,进行数据交换,例如设备状态报告、控制命令发送、生产...

    ASP脚本解密工具.exe

    3. **解码**:如果源码经过了特殊编码,如Base64、URL编码等,解密工具会进行解码操作,将编码后的字符串还原成原始文本。 4. **解析加密算法**:对于使用特定加密算法的ASP源码,解密工具需要理解和实现相应的算法...

Global site tag (gtag.js) - Google Analytics