Code:
/ FX-1434 / FX-1434 / 1.0 / untmp / whidbey / REDBITS / 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
- SymLanguageVendor.cs
- WsdlBuildProvider.cs
- BaseTemplateBuildProvider.cs
- HtmlFormParameterWriter.cs
- NamespaceMapping.cs
- CompilationLock.cs
- CacheManager.cs
- MailSettingsSection.cs
- SqlDataAdapter.cs
- SqlBinder.cs
- HtmlPageAdapter.cs
- PageThemeParser.cs
- TabItemAutomationPeer.cs
- DataGridViewCellStyle.cs
- BitArray.cs
- login.cs
- NamespaceQuery.cs
- ScrollEvent.cs
- RequestBringIntoViewEventArgs.cs
- TabItem.cs
- FixedSOMTable.cs
- CompleteWizardStep.cs
- XmlResolver.cs
- BamlTreeNode.cs
- CfgRule.cs
- UrlMapping.cs
- SynchronizedDispatch.cs
- Context.cs
- CacheOutputQuery.cs
- SoapObjectReader.cs
- NullableDoubleSumAggregationOperator.cs
- PageContentCollection.cs
- ByteStream.cs
- ClientSettingsProvider.cs
- FrameworkContentElementAutomationPeer.cs
- DisplayMemberTemplateSelector.cs
- ExpressionWriter.cs
- XmlNodeReader.cs
- MouseGesture.cs
- Menu.cs
- ListBoxItemAutomationPeer.cs
- WithStatement.cs
- SystemFonts.cs
- ClaimTypeElementCollection.cs
- ClientUrlResolverWrapper.cs
- ClientTarget.cs
- TextSpanModifier.cs
- TableRow.cs
- LogicalCallContext.cs
- ConfigurationFileMap.cs
- TableItemPatternIdentifiers.cs
- ObjectRef.cs
- HttpProfileBase.cs
- AnonymousIdentificationModule.cs
- StaticFileHandler.cs
- DataBoundLiteralControl.cs
- Message.cs
- Operand.cs
- SplayTreeNode.cs
- CategoryAttribute.cs
- XslUrlEditor.cs
- WindowsGraphicsWrapper.cs
- _UncName.cs
- NamedPipeConnectionPoolSettings.cs
- PerSessionInstanceContextProvider.cs
- TypeUtil.cs
- TriggerActionCollection.cs
- PointAnimationUsingKeyFrames.cs
- SqlDataAdapter.cs
- NamedPipeTransportElement.cs
- LassoSelectionBehavior.cs
- RepeatBehaviorConverter.cs
- Bits.cs
- ComponentResourceKeyConverter.cs
- PtsHelper.cs
- HttpCookie.cs
- Delay.cs
- MailAddress.cs
- FullTextState.cs
- SoapHeaderException.cs
- UInt64.cs
- PackageDigitalSignature.cs
- SettingsPropertyValueCollection.cs
- GcHandle.cs
- TypeSystem.cs
- CompositeFontFamily.cs
- VirtualPath.cs
- BehaviorEditorPart.cs
- ServerIdentity.cs
- ASCIIEncoding.cs
- SiteMembershipCondition.cs
- ClientFormsIdentity.cs
- SmtpAuthenticationManager.cs
- MetafileHeader.cs
- SvcMapFileSerializer.cs
- OrderedDictionary.cs
- SqlDataSourceStatusEventArgs.cs
- PropertyMappingExceptionEventArgs.cs
- DataKeyArray.cs
- ReflectionHelper.cs