Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
EncodedStreamFactory.cs
Go to the documentation of this file.
1using System.Text;
2
3namespace System.Net.Mime;
4
5internal sealed class EncodedStreamFactory
6{
7 private static readonly byte[] s_footer = new byte[2] { 63, 61 };
8
9 internal IEncodableStream GetEncoderForHeader(Encoding encoding, bool useBase64Encoding, int headerTextLength)
10 {
11 byte[] header = CreateHeader(encoding, useBase64Encoding);
12 byte[] footer = s_footer;
13 WriteStateInfoBase writeStateInfoBase;
14 if (useBase64Encoding)
15 {
16 writeStateInfoBase = new Base64WriteStateInfo(1024, header, footer, 70, headerTextLength);
17 return new Base64Stream((Base64WriteStateInfo)writeStateInfoBase);
18 }
19 writeStateInfoBase = new WriteStateInfoBase(1024, header, footer, 70, headerTextLength);
20 return new QEncodedStream(writeStateInfoBase);
21 }
22
23 private byte[] CreateHeader(Encoding encoding, bool useBase64Encoding)
24 {
25 return Encoding.ASCII.GetBytes("=?" + encoding.HeaderName + "?" + (useBase64Encoding ? "B?" : "Q?"));
26 }
27}
IEncodableStream GetEncoderForHeader(Encoding encoding, bool useBase64Encoding, int headerTextLength)
byte[] CreateHeader(Encoding encoding, bool useBase64Encoding)
static Encoding ASCII
Definition Encoding.cs:511
virtual string HeaderName
Definition Encoding.cs:374