Code:
/ FXUpdate3074 / FXUpdate3074 / 1.1 / untmp / whidbey / QFE / 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.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ConcatQueryOperator.cs
- ListViewInsertedEventArgs.cs
- ComboBoxItem.cs
- DataGridToolTip.cs
- Deflater.cs
- Stylesheet.cs
- MaskDescriptor.cs
- MissingFieldException.cs
- ScriptReferenceEventArgs.cs
- arabicshape.cs
- MD5CryptoServiceProvider.cs
- GeneralTransformCollection.cs
- WebHttpSecurityModeHelper.cs
- __Filters.cs
- HttpModulesSection.cs
- BuildProvidersCompiler.cs
- SupportsEventValidationAttribute.cs
- Component.cs
- BreakRecordTable.cs
- TextBoxBase.cs
- WebPermission.cs
- DataObject.cs
- JournalEntryStack.cs
- ScrollBarRenderer.cs
- AsymmetricSignatureFormatter.cs
- BamlMapTable.cs
- entityreference_tresulttype.cs
- Subtree.cs
- CompilerError.cs
- CTreeGenerator.cs
- DataGridViewSelectedCellsAccessibleObject.cs
- AffineTransform3D.cs
- QuaternionAnimation.cs
- AudioDeviceOut.cs
- DataObject.cs
- ControlBindingsCollection.cs
- ErrorHandler.cs
- SystemDiagnosticsSection.cs
- ImageList.cs
- FlagsAttribute.cs
- ConfigurationManagerInternalFactory.cs
- TypeInfo.cs
- CodeArrayIndexerExpression.cs
- TextTrailingWordEllipsis.cs
- TableStyle.cs
- SpeakCompletedEventArgs.cs
- TrackingDataItem.cs
- FeatureSupport.cs
- XmlUnspecifiedAttribute.cs
- ServiceReference.cs
- TypeToken.cs
- SqlXmlStorage.cs
- DataGridCellsPresenter.cs
- SqlDataRecord.cs
- ViewgenContext.cs
- FtpWebRequest.cs
- ProfilePropertyMetadata.cs
- CodeTypeDeclaration.cs
- AuthorizationSection.cs
- ScrollProviderWrapper.cs
- FunctionDescription.cs
- TypeGeneratedEventArgs.cs
- GenericAuthenticationEventArgs.cs
- XmlDictionaryWriter.cs
- ShaperBuffers.cs
- TypeInformation.cs
- FormViewUpdateEventArgs.cs
- PageAsyncTask.cs
- DrawingAttributeSerializer.cs
- TextBoxAutoCompleteSourceConverter.cs
- ViewStateException.cs
- StringReader.cs
- TdsParameterSetter.cs
- AmbientProperties.cs
- SelfIssuedAuthRSAPKCS1SignatureFormatter.cs
- XmlWrappingReader.cs
- FunctionDefinition.cs
- WebPartActionVerb.cs
- AsynchronousChannel.cs
- PriorityBinding.cs
- WebProxyScriptElement.cs
- DependencyPropertyHelper.cs
- DynamicActionMessageFilter.cs
- ObjectDataSourceSelectingEventArgs.cs
- UserNameSecurityTokenProvider.cs
- FontFamilyIdentifier.cs
- LineServicesRun.cs
- FunctionDescription.cs
- GeometryConverter.cs
- GridViewItemAutomationPeer.cs
- MatrixValueSerializer.cs
- DataGridViewRowsRemovedEventArgs.cs
- LinqDataSourceContextData.cs
- BitmapFrameDecode.cs
- RuleSet.cs
- DataBoundControlHelper.cs
- ViewEventArgs.cs
- BitmapEffectInput.cs
- PieceDirectory.cs
- _CookieModule.cs