System.Xml.BinHexDecoder.Decode C# (CSharp) Method

Decode() private method

private Decode ( string str, int startPos, int len ) : int
str string
startPos int
len int
return int
        internal override unsafe int Decode( string str, int startPos, int len ) {
            Debug.Assert( str != null );
            Debug.Assert( len >= 0 );
            Debug.Assert( startPos >= 0 );
            Debug.Assert( str.Length - startPos >= len );

            if ( len == 0 ) {
                return 0;
            }
            int bytesDecoded, charsDecoded;
            fixed ( char* pChars = str ) {
                fixed ( byte* pBytes = &buffer[curIndex] ) {
                    Decode( pChars + startPos, pChars + startPos + len, pBytes, pBytes + ( endIndex - curIndex ),  
                            ref this.hasHalfByteCached, ref this.cachedHalfByte, out charsDecoded, out bytesDecoded );
                }
            }
            curIndex += bytesDecoded;
            return charsDecoded;
        }

Same methods

BinHexDecoder::Decode ( char chars, bool allowOddChars ) : byte[]
BinHexDecoder::Decode ( char chars, int startPos, int len ) : int
BinHexDecoder::Decode ( char pChars, char pCharsEndPos, byte pBytes, byte pBytesEndPos, bool &hasHalfByteCached, byte &cachedHalfByte, int &charsDecoded, int &bytesDecoded ) : void

Usage Example

Ejemplo n.º 1
0
 internal static byte[] FromBinHexString(string s, bool allowOddCount)
 {
     if (s == null)
     {
         throw new ArgumentNullException("s");
     }
     return(BinHexDecoder.Decode(s.ToCharArray(), allowOddCount));
 }