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;
}
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 |
internal static byte[] FromBinHexString(string s, bool allowOddCount) { if (s == null) { throw new ArgumentNullException("s"); } return(BinHexDecoder.Decode(s.ToCharArray(), allowOddCount)); }