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
- RectAnimationClockResource.cs
- EpmCustomContentDeSerializer.cs
- ThreadPool.cs
- BulletedList.cs
- XmlAutoDetectWriter.cs
- Compiler.cs
- DataPointer.cs
- ColumnWidthChangingEvent.cs
- PasswordPropertyTextAttribute.cs
- AssemblyNameUtility.cs
- ActivityDesignerHighlighter.cs
- InvalidComObjectException.cs
- BaseDataList.cs
- OptimizedTemplateContent.cs
- COM2Properties.cs
- BamlRecordHelper.cs
- ConnectionsZone.cs
- CustomAttributeFormatException.cs
- CalendarTable.cs
- ConnectionStringsExpressionEditor.cs
- RenderDataDrawingContext.cs
- ThreadBehavior.cs
- TableLayoutRowStyleCollection.cs
- storagemappingitemcollection.viewdictionary.cs
- ToggleProviderWrapper.cs
- TextDecorationUnitValidation.cs
- RegularExpressionValidator.cs
- LogLogRecord.cs
- ValidationHelpers.cs
- ObjectListSelectEventArgs.cs
- Section.cs
- BrowserCapabilitiesFactoryBase.cs
- Lasso.cs
- Condition.cs
- HtmlSelect.cs
- CompModSwitches.cs
- SelectiveScrollingGrid.cs
- DisposableCollectionWrapper.cs
- sortedlist.cs
- NameTable.cs
- FactoryGenerator.cs
- QilList.cs
- RowToFieldTransformer.cs
- IIS7UserPrincipal.cs
- SendMailErrorEventArgs.cs
- HGlobalSafeHandle.cs
- CodeExporter.cs
- Debug.cs
- SplitterCancelEvent.cs
- UrlMappingsSection.cs
- TdsParserHelperClasses.cs
- CodeTypeDeclarationCollection.cs
- EntitySet.cs
- WSDualHttpSecurity.cs
- ContextInformation.cs
- IIS7UserPrincipal.cs
- MimeReturn.cs
- WindowsGraphicsWrapper.cs
- TimeSpanValidatorAttribute.cs
- DrawingContextDrawingContextWalker.cs
- PagerSettings.cs
- OrderPreservingPipeliningMergeHelper.cs
- SimpleApplicationHost.cs
- FormsAuthenticationUser.cs
- Divide.cs
- tibetanshape.cs
- XamlReader.cs
- DashStyle.cs
- HitTestWithGeometryDrawingContextWalker.cs
- XsdDuration.cs
- ComboBoxRenderer.cs
- ServiceOperation.cs
- ToolStripSettings.cs
- SystemIPGlobalProperties.cs
- OdbcConnectionPoolProviderInfo.cs
- ImageBrush.cs
- StrongNameIdentityPermission.cs
- InkPresenter.cs
- KeyPullup.cs
- sitestring.cs
- UidManager.cs
- NetSectionGroup.cs
- UnsafeNativeMethods.cs
- EventSchemaTraceListener.cs
- UInt16.cs
- FlowDocumentPageViewerAutomationPeer.cs
- OperandQuery.cs
- WebControlAdapter.cs
- SettingsBase.cs
- FrameworkName.cs
- OutputCacheSettings.cs
- SystemEvents.cs
- Identity.cs
- DesignerActionPanel.cs
- UniqueSet.cs
- BamlRecordWriter.cs
- ButtonColumn.cs
- ToolStripItemImageRenderEventArgs.cs
- OdbcException.cs
- RawAppCommandInputReport.cs