• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C# Text.Decoder类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了C#中System.Text.Decoder的典型用法代码示例。如果您正苦于以下问题:C# Decoder类的具体用法?C# Decoder怎么用?C# Decoder使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



Decoder类属于System.Text命名空间,在下文中一共展示了Decoder类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C#代码示例。

示例1: BinaryReader

        public BinaryReader(Stream input, Encoding encoding, bool leaveOpen) {
            if (input==null) {
                throw new ArgumentNullException(nameof(input));
            }
            if (encoding==null) {
                throw new ArgumentNullException(nameof(encoding));
            }
            if (!input.CanRead)
                throw new ArgumentException(Environment.GetResourceString("Argument_StreamNotReadable"));
            Contract.EndContractBlock();
            m_stream = input;
            m_decoder = encoding.GetDecoder();
            m_maxCharsSize = encoding.GetMaxCharCount(MaxCharBytesSize);
            int minBufferSize = encoding.GetMaxByteCount(1);  // max bytes per one char
            if (minBufferSize < 16) 
                minBufferSize = 16;
            m_buffer = new byte[minBufferSize];
            // m_charBuffer and m_charBytes will be left null.

            // For Encodings that always use 2 bytes per char (or more), 
            // special case them here to make Read() & Peek() faster.
            m_2BytesPerChar = encoding is UnicodeEncoding;
            // check if BinaryReader is based on MemoryStream, and keep this for it's life
            // we cannot use "as" operator, since derived classes are not allowed
            m_isMemoryStream = (m_stream.GetType() == typeof(MemoryStream));
            m_leaveOpen = leaveOpen;

            Contract.Assert(m_decoder!=null, "[BinaryReader.ctor]m_decoder!=null");
        }
开发者ID:JonHanna,项目名称:coreclr,代码行数:29,代码来源:BinaryReader.cs


示例2: BinaryReader

 public BinaryReader(Stream input, Encoding encoding)
 {
     if (input == null)
     {
         throw new ArgumentNullException("input");
     }
     if (encoding == null)
     {
         throw new ArgumentNullException("encoding");
     }
     if (!input.CanRead)
     {
         throw new ArgumentException(Environment.GetResourceString("Argument_StreamNotReadable"));
     }
     this.m_stream = input;
     this.m_decoder = encoding.GetDecoder();
     this.m_maxCharsSize = encoding.GetMaxCharCount(0x80);
     int maxByteCount = encoding.GetMaxByteCount(1);
     if (maxByteCount < 0x10)
     {
         maxByteCount = 0x10;
     }
     this.m_buffer = new byte[maxByteCount];
     this.m_charBuffer = null;
     this.m_charBytes = null;
     this.m_2BytesPerChar = encoding is UnicodeEncoding;
     this.m_isMemoryStream = this.m_stream.GetType() == typeof(MemoryStream);
 }
开发者ID:pritesh-mandowara-sp,项目名称:DecompliedDotNetLibraries,代码行数:28,代码来源:BinaryReader.cs


示例3: CFile

 /// <summary>
 /// Create new C file access
 /// </summary>
 public CFile(Stream stream, Encoding encoding = null)
 {
     this._Stream = stream;
     EOF = _Stream == null;
     this._Encoding = encoding ?? Encoding.GetEncoding("Windows-1252");
     this._Decoder = _Encoding.GetDecoder();
 }
开发者ID:thenuts,项目名称:SwissEphNet,代码行数:10,代码来源:CFile.cs


示例4: EndianReader

        public EndianReader(Stream input, Endianness endianess, Encoding encoding, bool leaveOpen)
        {
            if (input == null)
            {
                throw new ArgumentNullException(nameof(input));
            }
            if (encoding == null)
            {
                throw new ArgumentNullException(nameof(encoding));
            }
            if (!input.CanRead)
                throw new ArgumentException("Can't read from the output stream", nameof(input));
            Contract.EndContractBlock();

            BaseStream = input;
            decoder = encoding.GetDecoder();
            maxCharsSize = encoding.GetMaxCharCount(MaxCharBytesSize);
            var minBufferSize = encoding.GetMaxByteCount(1);  // max bytes per one char
            if (minBufferSize < 16)
                minBufferSize = 16;
            buffer = new byte[minBufferSize];
            // m_charBuffer and m_charBytes will be left null.

            // For Encodings that always use 2 bytes per char (or more), 
            // special case them here to make Read() & Peek() faster.
            use2BytesPerChar = encoding is UnicodeEncoding;
            this.leaveOpen = leaveOpen;

            Endianness = endianess;
            resolvedEndianess = EndianessHelper.Resolve(endianess);

            Contract.Assert(decoder != null, "[EndianReader.ctor]m_decoder!=null");
        }
开发者ID:vbfox,项目名称:U2FExperiments,代码行数:33,代码来源:EndianReader.cs


示例5: HttpRequestStreamReader

        public HttpRequestStreamReader(Stream stream, Encoding encoding, int bufferSize)
        {
            if (stream == null)
            {
                throw new ArgumentNullException(nameof(stream));
            }

            if (!stream.CanRead)
            {
                throw new ArgumentException(Resources.HttpRequestStreamReader_StreamNotReadable, nameof(stream));
            }

            if (encoding == null)
            {
                throw new ArgumentNullException(nameof(encoding));
            }

            _stream = stream;
            _encoding = encoding;
            _decoder = encoding.GetDecoder();

            if (bufferSize < MinBufferSize)
            {
                bufferSize = MinBufferSize;
            }

            _byteBufferSize = bufferSize;
            _byteBuffer = new byte[bufferSize];
            var maxCharsPerBuffer = encoding.GetMaxCharCount(bufferSize);
            _charBuffer = new char[maxCharsPerBuffer];
        }
开发者ID:phinq19,项目名称:git_example,代码行数:31,代码来源:HttpRequestStreamReader.cs


示例6: Main

 static void Main(string[] args)
 {
     //第一个参数是第三方平台
     //第二个参数是平台账号信息,若此处不设置Account,则需要在策略代码中设置默认值
     var decoder = new Decoder(Platform.RuoKuai, new Account
     {
         SoftId = 0, // 软件ID(此ID需要注册开发者账号才可获得)
         TypeId = 0, // 验证码类型(四位字符或其他类型的验证码,根据各平台设置不同值)
         SoftKey = null, //软件Key (此Key也需要注册开发者账号才可获得)
         UserName = null, //账号(此账号为打码平台的普通用户账号,开发者账号不能进行图片识别)
         Password = null //密码
     });
     decoder.OnStart += (s, e) =>
     {
         Console.WriteLine("验证码("+e.FilePath+")识别启动……");
     };
     decoder.OnCompleted += (s, e) =>
     {
         Console.WriteLine("验证码(" + e.FilePath + ")识别完成:" + e.Code + ",耗时:" + (e.Milliseconds/1000) + "秒,线程ID:"+e.ThreadId);
     };
     decoder.OnError += (s, e) =>
     {
         Console.WriteLine("验证码识别出错:" + e.Exception.Message);
     };
     for (var i = 1; i <= 3; i++)
     {
         decoder.Decode("c:\\checkcode"+i+".png");
     }
     Console.ReadKey();
 }
开发者ID:coldicelion,项目名称:Captcha-Recognizer,代码行数:30,代码来源:Program.cs


示例7: EndianBinaryReader

        /// <summary>
        /// Constructs a new binary reader with the given bit converter, reading
        /// to the given stream, using the given encoding.
        /// </summary>
        /// <param name="bitConverter">Converter to use when reading data</param>
        /// <param name="stream">Stream to read data from</param>
        /// <param name="encoding">Encoding to use when reading character data</param>
        public EndianBinaryReader(EndianBitConverter bitConverter, Stream stream, Encoding encoding)
        {
            if (bitConverter == null)
            {
                throw new ArgumentNullException("bitConverter");
            }
            if (stream == null)
            {
                throw new ArgumentNullException("stream");
            }
            if (encoding == null)
            {
                throw new ArgumentNullException("encoding");
            }
            if (!stream.CanRead)
            {
                throw new ArgumentException("Stream isn't writable", "stream");
            }
            this.stream = stream;
            this.bitConverter = bitConverter;
            this.encoding = encoding;
            this.decoder = encoding.GetDecoder();
            this.minBytesPerChar = 1;

            if (encoding is UnicodeEncoding)
            {
                minBytesPerChar = 2;
            }
        }
开发者ID:cornelius90,项目名称:InnovatorAdmin,代码行数:36,代码来源:EndianBinaryReader.cs


示例8: ContentReader

 public ContentReader(Stream stream, long length, Encoding encoding = null) {
     _stream = stream;
     _length = length;
     if (encoding != null) {
         _decoder = encoding.GetDecoder();
     }
 }
开发者ID:roomaroo,项目名称:coapp.powershell,代码行数:7,代码来源:ContentReader.cs


示例9: StaticUtils

        static StaticUtils()
        {
            asciiDecoder = Encoding.ASCII.GetDecoder();

            utf8Encoder = Encoding.UTF8.GetEncoder();
            utf8Decoder = Encoding.UTF8.GetDecoder();
        }
开发者ID:SayHalou,项目名称:ospy,代码行数:7,代码来源:Util.cs


示例10: EndianBinaryReader

 public EndianBinaryReader(EndianBitConverter bitConverter, Stream stream, System.Text.Encoding encoding)
 {
     this.disposed = false;
     this.buffer = new byte[0x10];
     this.charBuffer = new char[1];
     if (bitConverter == null)
     {
         throw new ArgumentNullException("bitConverter");
     }
     if (stream == null)
     {
         throw new ArgumentNullException("stream");
     }
     if (encoding == null)
     {
         throw new ArgumentNullException("encoding");
     }
     if (!stream.CanRead)
     {
         throw new ArgumentException("Stream isn't writable", "stream");
     }
     this.stream = stream;
     this.bitConverter = bitConverter;
     this.encoding = encoding;
     this.decoder = encoding.GetDecoder();
     this.minBytesPerChar = 1;
     if (encoding is UnicodeEncoding)
     {
         this.minBytesPerChar = 2;
     }
 }
开发者ID:BGCX261,项目名称:znqq-svn-to-git,代码行数:31,代码来源:EndianBinaryReader.cs


示例11: XmlParser

 /// <summary>
 /// コンストラクタです。
 /// </summary>
 public XmlParser(Stream stream)
 {
     this.stream = stream;
     this.element = this.name = this.data = "";
     this.attr = new Hashtable();
     this.dec = Encoding.Default.GetDecoder();
     this.letter = false;
 }
开发者ID:yuta1011tokyo,项目名称:Liplis-Windows,代码行数:11,代码来源:XmlParser.cs


示例12: UTF8SanitizerStream

 public UTF8SanitizerStream(string pattern, string substitute, Stream output)
 {
     _pattern = pattern;
     _substitute = substitute;
     _output = output;
     _decoder = Encoding.UTF8.GetDecoder();
     _buffer = String.Empty;
 }
开发者ID:johnnyoshika,项目名称:coldfusion-rest-post-process,代码行数:8,代码来源:UTF8SanitizerStream.cs


示例13: PositionedStreamReader

 public PositionedStreamReader(Stream stream, Encoding encoding)
 {
     this.stream = stream;
     this.encoding = encoding;
     decoder = encoding.GetDecoder();
     bufferpos = 0;
     readPosition = 0;
 }
开发者ID:CodeDevLab,项目名称:TS3AudioBot,代码行数:8,代码来源:PositionedStreamReader.cs


示例14: ReadATTRIBUTEWORD

 /// <summary>
 /// Reads an ATTRIBUTEWORD from the byte buffer.
 /// </summary>
 /// <param name="buffer">buffer containing serialized data</param>
 /// <param name="offset">reference to an offset variable; upon entry offset 
 /// reflects the position within the buffer where reading should begin. 
 /// Upon success the offset will be incremented by the number of bytes that are used.</param>
 /// <param name="coder">Decoder used to translate byte data to character data</param>
 /// <returns>an ATTRIBUTEWORD value taken from the buffer</returns>
 public static string ReadATTRIBUTEWORD(byte[] buffer, ref int offset, Decoder coder)
 {
     #if DEBUG
     if (buffer == null) throw new ArgumentNullException("buffer");
     if (offset < 0 || offset > buffer.Length - 1) throw new BadLwesDataException(String.Concat("Expected ATTRIBUTEWORD at offset ", offset));
     #endif
     return ReadStringWithByteLengthPrefix(buffer, ref offset, coder);
 }
开发者ID:lwes,项目名称:lwes-dotnet,代码行数:17,代码来源:LwesSerializer.cs


示例15: RequestState

 //bool disposed;
 public RequestState()
 {
     BufferRead = new byte[BufferSize];
     RequestData = new StringBuilder(String.Empty);
     Request = null;
     ResponseStream = null;
     StreamDecode = Encoding.UTF8.GetDecoder();
 }
开发者ID:cripperz,项目名称:proxyscrape,代码行数:9,代码来源:RequestState.cs


示例16: UnpackNextSection

        /// <summary>
        /// Unpacks next section of the compressed replay
        /// </summary>
        /// <param name="length">The length of the section</param>
        /// <returns>The decoded data</returns>
        protected byte[] UnpackNextSection(int length)
        {
            byte[] result = new byte[length];

            Decoder decoder = new Decoder();
            DecodeBuffer buffer = new DecodeBuffer(result);

            decoder.DecodeBuffer = buffer;

            int checksum = _reader.ReadInt32();
            int blocks = _reader.ReadInt32();

            for (int block = 0; block < blocks; block++)
            {

                // read the length of the next block of encoded data
                int encodedLength = _reader.ReadInt32();

                // we error if there is no space for the next block of encoded data
                if (encodedLength > result.Length - buffer.ResultOffset)
                {
                    throw new Exception("Insufficient space in decode buffer");
                }

                // read the block of encoded data into the result (decoded data will overwrite).
                _reader.Read(result, buffer.ResultOffset, encodedLength);

                // skip decoding if the encoded data filled the remaining space
                if (encodedLength == Math.Min(result.Length - buffer.ResultOffset, buffer.BufferLength))
                {
                    continue;
                }

                // set the decode buffer parameters
                buffer.EncodedOffset = 0;
                buffer.DecodedLength = 0;
                buffer.EncodedLength = encodedLength;

                // decode the block
                if (decoder.DecodeBlock() != 0)
                {
                    throw new Exception("Error decoding block offset " + block);
                }

                // sanity check the decoded length
                if (buffer.DecodedLength == 0 ||
                        buffer.DecodedLength > buffer.BufferLength ||
                        buffer.DecodedLength > result.Length)
                {
                    throw new Exception("Decode data length mismatch");
                }

                // flush the decoded bytes into the result
                buffer.WriteDecodedBytes();
            }

            return result;
        }
开发者ID:Excolo,项目名称:SCReplayFileParser,代码行数:63,代码来源:Unpacker.cs


示例17: AsyncLineReader

 public AsyncLineReader(Stream stream, Encoding encoding, int bufferSize, int maxLineLength)
 {
     this.stream = stream;
     this.decoder = encoding.GetDecoder();
     this.readBuffer = new byte[bufferSize];
     this.decodeBuffer = new char[bufferSize];
     this.maxLineLength = maxLineLength;
     StartRead();
 }
开发者ID:runt18,项目名称:vss2git-1,代码行数:9,代码来源:AsyncLineReader.cs


示例18: CancellableStreamReader

 public CancellableStreamReader(Stream stream, Encoding encoding)
 {
     _stream = stream;
     _decoder = encoding.GetDecoder();
     _byteBuffer = new byte[BufferLength];
     _buffer = new char[encoding.GetMaxCharCount(BufferLength)];
     _bufferedLength = -1;
     _bufferCursor = -1;
 }
开发者ID:karno,项目名称:StarryEyes,代码行数:9,代码来源:CancellableStreamReader.cs


示例19: TextSource

 TextSource(Encoding encoding)
 {
     _buffer = new Byte[BufferSize];
     _chars = new Char[BufferSize + 1];
     _raw = new MemoryStream();
     _index = 0;
     _encoding = encoding ?? TextEncoding.Utf8;
     _decoder = _encoding.GetDecoder();
 }
开发者ID:tsu1980,项目名称:AngleSharp,代码行数:9,代码来源:TextSource.cs


示例20: AsyncTextReader

 public AsyncTextReader(IAsyncDataSource dataSource, Encoding encoding, int bufferSize = DefaultBufferSize)
     : base()
 {
     _DataSource = dataSource;
     _Encoding = encoding;
     _Decoder = _Encoding.GetDecoder();
     _BufferSize = Math.Max(MinimumBufferSize, bufferSize);
     AllocateBuffer();
 }
开发者ID:pakoito,项目名称:Fracture,代码行数:9,代码来源:IO.cs



注:本文中的System.Text.Decoder类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C# Text.DecoderFallback类代码示例发布时间:2022-05-26
下一篇:
C# Text.ASCIIEncoding类代码示例发布时间:2022-05-26
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap