System.Convert.ToBase64CharArray C# (CSharp) Method

ToBase64CharArray() private method

private ToBase64CharArray ( byte inArray, int offsetIn, int length, char outArray, int offsetOut, Base64FormattingOptions options ) : int
inArray byte
offsetIn int
length int
outArray char
offsetOut int
options Base64FormattingOptions
return int
        public static unsafe int ToBase64CharArray(byte[] inArray, int offsetIn, int length, char[] outArray, int offsetOut, Base64FormattingOptions options) {

            int retVal;

            int inArrayLength;
            int outArrayLength;
            int numElementsToCopy;

            //Do data verfication
            if (inArray==null) 
                throw new ArgumentNullException("inArray");
            if (outArray==null)
                throw new ArgumentNullException("outArray");
            if (length<0)
                throw new ArgumentOutOfRangeException("length", Environment.GetResourceString("ArgumentOutOfRange_Index"));
            if (offsetIn<0)
                throw new ArgumentOutOfRangeException("offsetIn", Environment.GetResourceString("ArgumentOutOfRange_GenericPositive"));
            if (offsetOut<0)
                throw new ArgumentOutOfRangeException("offsetOut", Environment.GetResourceString("ArgumentOutOfRange_GenericPositive"));

            if( options < Base64FormattingOptions.None || options > Base64FormattingOptions.InsertLineBreaks) {
                throw new ArgumentException(Environment.GetResourceString("Arg_EnumIllegalVal", (int)options));
            }           

            inArrayLength = inArray.Length;

            if (offsetIn > (int)(inArrayLength - length))
                throw new ArgumentOutOfRangeException("offsetIn", Environment.GetResourceString("ArgumentOutOfRange_OffsetLength"));

            if (inArrayLength == 0)
                return 0;

            bool insertLineBreaks = (options == Base64FormattingOptions.InsertLineBreaks);
            //This is the maximally required length that must be available in the char array
            outArrayLength = outArray.Length;

            // Length of the char buffer required
            numElementsToCopy = CalculateOutputLength(length, insertLineBreaks);
    
            if (offsetOut > (int)(outArrayLength -  numElementsToCopy))
                throw new ArgumentOutOfRangeException("offsetOut", Environment.GetResourceString("ArgumentOutOfRange_OffsetOut"));

            fixed (char* outChars = &outArray[offsetOut]) {
                fixed (byte* inData = inArray) { 
                   retVal = ConvertToBase64Array(outChars,inData,offsetIn,length, insertLineBreaks);
                }
            }

            return retVal;
        }

Same methods

Convert::ToBase64CharArray ( byte inArray, int offsetIn, int length, char outArray, int offsetOut ) : int

Usage Example

Beispiel #1
0
 public static int ToBase64CharArray(this byte[] inArray, int offsetIn, int length, char[] outArray, int offsetOut, Base64FormattingOptions options)
 {
     return(Convert.ToBase64CharArray(inArray, offsetIn, length, outArray, offsetOut, options));
 }
All Usage Examples Of System.Convert::ToBase64CharArray