Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / ndp / fx / src / Xml / System / Xml / BinHexEncoder.cs / 1 / BinHexEncoder.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //[....] //----------------------------------------------------------------------------- namespace System.Xml { internal abstract class BinHexEncoder { private const string s_hexDigits = "0123456789ABCDEF"; private const int CharsChunkSize = 128; internal static void Encode( byte[] buffer, int index, int count, XmlWriter writer ) { if ( buffer == null ) { throw new ArgumentNullException( "buffer" ); } if ( index < 0 ) { throw new ArgumentOutOfRangeException( "index" ); } if ( count < 0 ) { throw new ArgumentOutOfRangeException( "count" ); } if ( count > buffer.Length - index ) { throw new ArgumentOutOfRangeException( "count" ); } char[] chars = new char[ ( count * 2 ) < CharsChunkSize ? ( count * 2 ) : CharsChunkSize ]; int endIndex = index + count; while ( index < endIndex ) { int cnt = ( count < CharsChunkSize/2 ) ? count : CharsChunkSize/2; int charCount = Encode( buffer, index, cnt, chars ); writer.WriteRaw( chars, 0, charCount ); index += cnt; count -= cnt; } } internal static string Encode(byte[] inArray, int offsetIn, int count) { if (null == inArray) { throw new ArgumentNullException("inArray"); } if (0 > offsetIn) { throw new ArgumentOutOfRangeException("offsetIn"); } if (0 > count) { throw new ArgumentOutOfRangeException("count"); } if (count > inArray.Length - offsetIn) { throw new ArgumentOutOfRangeException("count"); } char[] outArray = new char[2 * count]; int lenOut = Encode(inArray, offsetIn, count, outArray); return new String(outArray, 0, lenOut); } private static int Encode(byte[] inArray, int offsetIn, int count, char[] outArray) { int curOffsetOut =0, offsetOut = 0; byte b; int lengthOut = outArray.Length; for (int j=0; j> 4]; if (curOffsetOut == lengthOut) { break; } outArray[curOffsetOut ++] = s_hexDigits[b & 0xF]; if (curOffsetOut == lengthOut) { break; } } return curOffsetOut - offsetOut; } // function } // class } // namespace // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ // // Copyright (c) Microsoft Corporation. All rights reserved. // //[....] //----------------------------------------------------------------------------- namespace System.Xml { internal abstract class BinHexEncoder { private const string s_hexDigits = "0123456789ABCDEF"; private const int CharsChunkSize = 128; internal static void Encode( byte[] buffer, int index, int count, XmlWriter writer ) { if ( buffer == null ) { throw new ArgumentNullException( "buffer" ); } if ( index < 0 ) { throw new ArgumentOutOfRangeException( "index" ); } if ( count < 0 ) { throw new ArgumentOutOfRangeException( "count" ); } if ( count > buffer.Length - index ) { throw new ArgumentOutOfRangeException( "count" ); } char[] chars = new char[ ( count * 2 ) < CharsChunkSize ? ( count * 2 ) : CharsChunkSize ]; int endIndex = index + count; while ( index < endIndex ) { int cnt = ( count < CharsChunkSize/2 ) ? count : CharsChunkSize/2; int charCount = Encode( buffer, index, cnt, chars ); writer.WriteRaw( chars, 0, charCount ); index += cnt; count -= cnt; } } internal static string Encode(byte[] inArray, int offsetIn, int count) { if (null == inArray) { throw new ArgumentNullException("inArray"); } if (0 > offsetIn) { throw new ArgumentOutOfRangeException("offsetIn"); } if (0 > count) { throw new ArgumentOutOfRangeException("count"); } if (count > inArray.Length - offsetIn) { throw new ArgumentOutOfRangeException("count"); } char[] outArray = new char[2 * count]; int lenOut = Encode(inArray, offsetIn, count, outArray); return new String(outArray, 0, lenOut); } private static int Encode(byte[] inArray, int offsetIn, int count, char[] outArray) { int curOffsetOut =0, offsetOut = 0; byte b; int lengthOut = outArray.Length; for (int j=0; j> 4]; if (curOffsetOut == lengthOut) { break; } outArray[curOffsetOut ++] = s_hexDigits[b & 0xF]; if (curOffsetOut == lengthOut) { break; } } return curOffsetOut - offsetOut; } // function } // class } // namespace // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- DocumentScope.cs
- EntityDataSourceWrapperCollection.cs
- AssemblyUtil.cs
- OrderedDictionary.cs
- ErrorStyle.cs
- DocumentPage.cs
- SByte.cs
- BamlVersionHeader.cs
- InkPresenter.cs
- InfoCardTraceRecord.cs
- MetaData.cs
- AssociationType.cs
- DelegateSerializationHolder.cs
- IssuedTokenParametersEndpointAddressElement.cs
- DataSourceControl.cs
- Enlistment.cs
- EventLogPermissionEntry.cs
- ArithmeticException.cs
- TransformProviderWrapper.cs
- HostedElements.cs
- StringReader.cs
- RequestStatusBarUpdateEventArgs.cs
- MissingMemberException.cs
- SafeEventLogReadHandle.cs
- RealizationDrawingContextWalker.cs
- Span.cs
- WizardStepBase.cs
- ThreadExceptionDialog.cs
- VScrollProperties.cs
- TransactionManager.cs
- XmlnsDefinitionAttribute.cs
- WebColorConverter.cs
- SerializerWriterEventHandlers.cs
- SqlServer2KCompatibilityAnnotation.cs
- AggregateNode.cs
- Matrix3D.cs
- Size.cs
- RegexCharClass.cs
- XmlAttribute.cs
- HtmlElementEventArgs.cs
- CodeCommentStatement.cs
- XmlElementList.cs
- FastEncoder.cs
- ProfileGroupSettings.cs
- HostedTransportConfigurationBase.cs
- DebugControllerThread.cs
- WebReference.cs
- PageRouteHandler.cs
- InvalidDataContractException.cs
- LinkDescriptor.cs
- XmlSchemaSimpleType.cs
- LayoutSettings.cs
- WebPartCollection.cs
- EmptyArray.cs
- BrowserCapabilitiesFactory.cs
- IgnoreFileBuildProvider.cs
- XmlWrappingReader.cs
- DllNotFoundException.cs
- StorageInfo.cs
- NamedObject.cs
- DataTemplateKey.cs
- RuntimeResourceSet.cs
- WebPartCancelEventArgs.cs
- LiteralControl.cs
- FolderLevelBuildProviderCollection.cs
- Triangle.cs
- ErrorFormatter.cs
- OrderingInfo.cs
- CryptoStream.cs
- AssemblyNameProxy.cs
- DetailsViewPageEventArgs.cs
- WhiteSpaceTrimStringConverter.cs
- ConstNode.cs
- WebPartConnection.cs
- ThousandthOfEmRealPoints.cs
- UnsafeNativeMethods.cs
- RuntimeResourceSet.cs
- MtomMessageEncodingElement.cs
- MouseButton.cs
- SelectionWordBreaker.cs
- ConfigurationValue.cs
- BuildProvider.cs
- SingleAnimation.cs
- IIS7WorkerRequest.cs
- FloaterParaClient.cs
- PerformanceCounterPermissionAttribute.cs
- WebPartManager.cs
- Context.cs
- TdsParserStaticMethods.cs
- DataSourceHelper.cs
- AdRotator.cs
- mediaeventshelper.cs
- KernelTypeValidation.cs
- DataBindingList.cs
- ConditionalAttribute.cs
- SerializableAuthorizationContext.cs
- Composition.cs
- URL.cs
- NameValueFileSectionHandler.cs
- XPathSelectionIterator.cs