Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / 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
- SimpleLine.cs
- RsaSecurityKey.cs
- CreateUserWizardAutoFormat.cs
- WebException.cs
- TypedTableBaseExtensions.cs
- BackgroundFormatInfo.cs
- UserControlAutomationPeer.cs
- EntityException.cs
- Image.cs
- DataComponentNameHandler.cs
- PropVariant.cs
- UpWmlMobileTextWriter.cs
- Int32Animation.cs
- SymLanguageType.cs
- InputReport.cs
- QilGeneratorEnv.cs
- RegistryExceptionHelper.cs
- EventBuilder.cs
- NavigationFailedEventArgs.cs
- QilTargetType.cs
- SessionPageStateSection.cs
- ArglessEventHandlerProxy.cs
- Dump.cs
- TrackingProfileSerializer.cs
- SkinBuilder.cs
- SharedStatics.cs
- FilterQuery.cs
- SelectionPatternIdentifiers.cs
- ImageAnimator.cs
- ConnectionDemuxer.cs
- SettingsPropertyNotFoundException.cs
- VScrollBar.cs
- Bind.cs
- Label.cs
- HtmlEmptyTagControlBuilder.cs
- FreeFormDragDropManager.cs
- ComponentChangedEvent.cs
- TaskFormBase.cs
- ScriptingSectionGroup.cs
- DataControlField.cs
- ContractSearchPattern.cs
- ResolveRequestResponseAsyncResult.cs
- ScopelessEnumAttribute.cs
- QueryExecutionOption.cs
- DesignTimeParseData.cs
- BufferedReadStream.cs
- BlobPersonalizationState.cs
- ResolvedKeyFrameEntry.cs
- TdsParserHelperClasses.cs
- DataMisalignedException.cs
- RenderDataDrawingContext.cs
- Tag.cs
- SafeEventLogReadHandle.cs
- InputScopeConverter.cs
- BigInt.cs
- KnownTypeDataContractResolver.cs
- SqlRowUpdatingEvent.cs
- SchemaImporterExtension.cs
- While.cs
- VerificationException.cs
- ControlBuilderAttribute.cs
- SequentialUshortCollection.cs
- ObjectListCommandCollection.cs
- ApplicationException.cs
- TargetFrameworkAttribute.cs
- CqlLexerHelpers.cs
- GenericTypeParameterBuilder.cs
- MachineKeySection.cs
- RefreshInfo.cs
- StrongName.cs
- XmlElementCollection.cs
- CapabilitiesRule.cs
- Int64Animation.cs
- ProvidersHelper.cs
- DockPattern.cs
- FormsAuthenticationEventArgs.cs
- _HTTPDateParse.cs
- SystemResources.cs
- InstanceOwnerQueryResult.cs
- EmptyStringExpandableObjectConverter.cs
- EntityDataSourceWrapperCollection.cs
- PolyBezierSegment.cs
- DesignerValidatorAdapter.cs
- MetaType.cs
- AccessKeyManager.cs
- Timer.cs
- WindowsSpinner.cs
- ConfigXmlText.cs
- KerberosTokenFactoryCredential.cs
- GreenMethods.cs
- DispatcherOperation.cs
- BuildTopDownAttribute.cs
- Line.cs
- ReadOnlyHierarchicalDataSource.cs
- X509Certificate2.cs
- GridViewColumnCollection.cs
- SqlVisitor.cs
- BrowserPolicyValidator.cs
- WSDualHttpBindingElement.cs
- RecordsAffectedEventArgs.cs