private static SourceText CreateMemoryStreamBasedEncodedText(string text, Encoding writeEncoding, Encoding readEncodingOpt, SourceHashAlgorithm algorithm = SourceHashAlgorithm.Sha1) { byte[] bytes = writeEncoding.GetBytesWithPreamble(text); // For testing purposes, create a bigger buffer so that we verify // that the implementation only uses the part that's covered by the stream and not the entire array. byte[] buffer = new byte[bytes.Length + 10]; bytes.CopyTo(buffer, 0); using (var stream = new MemoryStream(buffer, 0, bytes.Length, writable: true, publiclyVisible: true)) { return EncodedStringText.Create(stream, readEncodingOpt, algorithm); } }
private static SourceText CreateMemoryStreamBasedEncodedText(string text, Encoding writeEncoding, Encoding readEncodingOpt, SourceHashAlgorithm algorithm = SourceHashAlgorithm.Sha1) { byte[] bytes = writeEncoding.GetBytesWithPreamble(text); return CreateMemoryStreamBasedEncodedText(bytes, readEncodingOpt, algorithm); }
protected byte[] GetBytes(Encoding encoding, string source) { currentEncoding = encoding; return encoding.GetBytesWithPreamble(source); }