Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / WCF / IdentityModel / System / IdentityModel / CanonicalFormWriter.cs / 1305376 / CanonicalFormWriter.cs
//------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------- namespace System.IdentityModel { using System.IO; using System.Security.Cryptography; using System.Text; using System.Xml; abstract class CanonicalFormWriter { internal static readonly UTF8Encoding Utf8WithoutPreamble = new UTF8Encoding(false); protected static void Base64EncodeAndWrite(Stream stream, byte[] workBuffer, char[] base64WorkBuffer, byte[] data) { if ((data.Length / 3) * 4 + 4 > base64WorkBuffer.Length) { EncodeAndWrite(stream, Convert.ToBase64String(data)); return; } int encodedLength = Convert.ToBase64CharArray(data, 0, data.Length, base64WorkBuffer, 0, Base64FormattingOptions.None); EncodeAndWrite(stream, workBuffer, base64WorkBuffer, encodedLength); } protected static void EncodeAndWrite(Stream stream, byte[] workBuffer, string s) { if (s.Length > workBuffer.Length) { EncodeAndWrite(stream, s); return; } for (int i = 0; i < s.Length; i++) { char c = s[i]; if (c < 127) { workBuffer[i] = (byte) c; } else { EncodeAndWrite(stream, s); return; } } stream.Write(workBuffer, 0, s.Length); } protected static void EncodeAndWrite(Stream stream, byte[] workBuffer, char[] chars) { EncodeAndWrite(stream, workBuffer, chars, chars.Length); } protected static void EncodeAndWrite(Stream stream, byte[] workBuffer, char[] chars, int count) { if (count > workBuffer.Length) { EncodeAndWrite(stream, chars, count); return; } for (int i = 0; i < count; i++) { char c = chars[i]; if (c < 127) { workBuffer[i] = (byte) c; } else { EncodeAndWrite(stream, chars, count); return; } } stream.Write(workBuffer, 0, count); } static void EncodeAndWrite(Stream stream, string s) { byte[] buffer = CanonicalFormWriter.Utf8WithoutPreamble.GetBytes(s); stream.Write(buffer, 0, buffer.Length); } static void EncodeAndWrite(Stream stream, char[] chars, int count) { byte[] buffer = CanonicalFormWriter.Utf8WithoutPreamble.GetBytes(chars, 0, count); stream.Write(buffer, 0, buffer.Length); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------- namespace System.IdentityModel { using System.IO; using System.Security.Cryptography; using System.Text; using System.Xml; abstract class CanonicalFormWriter { internal static readonly UTF8Encoding Utf8WithoutPreamble = new UTF8Encoding(false); protected static void Base64EncodeAndWrite(Stream stream, byte[] workBuffer, char[] base64WorkBuffer, byte[] data) { if ((data.Length / 3) * 4 + 4 > base64WorkBuffer.Length) { EncodeAndWrite(stream, Convert.ToBase64String(data)); return; } int encodedLength = Convert.ToBase64CharArray(data, 0, data.Length, base64WorkBuffer, 0, Base64FormattingOptions.None); EncodeAndWrite(stream, workBuffer, base64WorkBuffer, encodedLength); } protected static void EncodeAndWrite(Stream stream, byte[] workBuffer, string s) { if (s.Length > workBuffer.Length) { EncodeAndWrite(stream, s); return; } for (int i = 0; i < s.Length; i++) { char c = s[i]; if (c < 127) { workBuffer[i] = (byte) c; } else { EncodeAndWrite(stream, s); return; } } stream.Write(workBuffer, 0, s.Length); } protected static void EncodeAndWrite(Stream stream, byte[] workBuffer, char[] chars) { EncodeAndWrite(stream, workBuffer, chars, chars.Length); } protected static void EncodeAndWrite(Stream stream, byte[] workBuffer, char[] chars, int count) { if (count > workBuffer.Length) { EncodeAndWrite(stream, chars, count); return; } for (int i = 0; i < count; i++) { char c = chars[i]; if (c < 127) { workBuffer[i] = (byte) c; } else { EncodeAndWrite(stream, chars, count); return; } } stream.Write(workBuffer, 0, count); } static void EncodeAndWrite(Stream stream, string s) { byte[] buffer = CanonicalFormWriter.Utf8WithoutPreamble.GetBytes(s); stream.Write(buffer, 0, buffer.Length); } static void EncodeAndWrite(Stream stream, char[] chars, int count) { byte[] buffer = CanonicalFormWriter.Utf8WithoutPreamble.GetBytes(chars, 0, count); stream.Write(buffer, 0, buffer.Length); } } } // 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
- TextRangeEdit.cs
- _PooledStream.cs
- State.cs
- RuntimeConfig.cs
- PkcsMisc.cs
- RawTextInputReport.cs
- XmlBinaryReader.cs
- StyleCollectionEditor.cs
- TcpChannelHelper.cs
- FrameworkEventSource.cs
- CallContext.cs
- ScrollContentPresenter.cs
- XmlQueryContext.cs
- GotoExpression.cs
- SchemaDeclBase.cs
- DefaultSection.cs
- DisplayMemberTemplateSelector.cs
- AttachedPropertyDescriptor.cs
- XmlByteStreamReader.cs
- FocusChangedEventArgs.cs
- XmlILConstructAnalyzer.cs
- SafeLocalMemHandle.cs
- WmlLabelAdapter.cs
- BindingExpressionBase.cs
- TableLayoutStyle.cs
- DataGridViewIntLinkedList.cs
- ColumnWidthChangingEvent.cs
- EFColumnProvider.cs
- DataGridViewSelectedRowCollection.cs
- CodeTypeConstructor.cs
- CustomAttribute.cs
- DPTypeDescriptorContext.cs
- DetailsViewPagerRow.cs
- InstanceDataCollection.cs
- SourceItem.cs
- DSASignatureDeformatter.cs
- CounterCreationDataCollection.cs
- Size.cs
- ExpressionVisitor.cs
- AssociationSetEnd.cs
- ProviderMetadataCachedInformation.cs
- ManagedIStream.cs
- ResourcesChangeInfo.cs
- DesignerSerializationOptionsAttribute.cs
- CustomGrammar.cs
- RecognizedPhrase.cs
- PngBitmapDecoder.cs
- DependencyObjectType.cs
- TextRangeAdaptor.cs
- WinFormsUtils.cs
- SHA512Managed.cs
- CodeAttributeArgument.cs
- ServiceMetadataExtension.cs
- MsmqChannelFactoryBase.cs
- _CookieModule.cs
- FunctionUpdateCommand.cs
- StoreConnection.cs
- WindowsRichEditRange.cs
- ParallelTimeline.cs
- Latin1Encoding.cs
- Expressions.cs
- EventLogEntry.cs
- HttpProfileBase.cs
- Visual.cs
- VisualTreeHelper.cs
- TemplateApplicationHelper.cs
- ErrorItem.cs
- FixedPageProcessor.cs
- GeneralTransform3D.cs
- LocationChangedEventArgs.cs
- OleDbConnectionPoolGroupProviderInfo.cs
- ThicknessAnimation.cs
- WeakReference.cs
- ConfigurationManagerHelperFactory.cs
- Serializer.cs
- ReachPrintTicketSerializer.cs
- MetadataLocation.cs
- ScriptingRoleServiceSection.cs
- TraceHandler.cs
- InstanceValue.cs
- CodeAttributeDeclarationCollection.cs
- CompilerHelpers.cs
- Method.cs
- IntSecurity.cs
- ByteRangeDownloader.cs
- WebRequestModuleElementCollection.cs
- Stroke2.cs
- ScriptMethodAttribute.cs
- EntityTypeBase.cs
- FormsAuthentication.cs
- AccessViolationException.cs
- COSERVERINFO.cs
- BatchParser.cs
- NTAccount.cs
- TdsParser.cs
- WebReferencesBuildProvider.cs
- XamlSerializer.cs
- FontWeights.cs
- EntityDataSourceMemberPath.cs
- CodeValidator.cs