Class ByteString (3.23.0)

public sealed class ByteString : IEnumerable<byte>, IEnumerable, IEquatable<ByteString>

Immutable array of bytes.

Inheritance

object > ByteString

Namespace

Google.Protobuf

Assembly

Google.Protobuf.dll

Properties

Empty

public static ByteString Empty { get; }

Returns an empty ByteString.

Property Value
TypeDescription
ByteString

IsEmpty

public bool IsEmpty { get; }

Returns true if this byte string is empty, false otherwise.

Property Value
TypeDescription
bool

this[int]

public byte this[int index] { get; }

Returns the byte at the given index.

Parameter
NameDescription
indexint
Property Value
TypeDescription
byte

Length

public int Length { get; }

Returns the length of this ByteString in bytes.

Property Value
TypeDescription
int

Memory

public ReadOnlyMemory<byte> Memory { get; }

Provides read-only access to the data of this ByteString. No data is copied so this is the most efficient way of accessing.

Property Value
TypeDescription
ReadOnlyMemorybyte

Span

public ReadOnlySpan<byte> Span { get; }

Provides read-only access to the data of this ByteString. No data is copied so this is the most efficient way of accessing.

Property Value
TypeDescription
ReadOnlySpanbyte

Methods

CopyFrom(params byte[])

public static ByteString CopyFrom(params byte[] bytes)

Constructs a ByteString from the given array. The contents are copied, so further modifications to the array will not be reflected in the returned ByteString. This method can also be invoked in ByteString.CopyFrom(0xaa, 0xbb, ...) form which is primarily useful for testing.

Parameter
NameDescription
bytesbyte
Returns
TypeDescription
ByteString

CopyFrom(byte[], int, int)

public static ByteString CopyFrom(byte[] bytes, int offset, int count)

Constructs a ByteString from a portion of a byte array.

Parameters
NameDescription
bytesbyte
offsetint
countint
Returns
TypeDescription
ByteString

CopyFrom(ReadOnlySpan<byte>)

public static ByteString CopyFrom(ReadOnlySpan<byte> bytes)

Constructs a ByteString from a read only span. The contents are copied, so further modifications to the span will not be reflected in the returned ByteString.

Parameter
NameDescription
bytesReadOnlySpanbyte
Returns
TypeDescription
ByteString

CopyFrom(string, Encoding)

public static ByteString CopyFrom(string text, Encoding encoding)

Creates a new ByteString by encoding the specified text with the given encoding.

Parameters
NameDescription
textstring
encodingEncoding
Returns
TypeDescription
ByteString

CopyFromUtf8(string)

public static ByteString CopyFromUtf8(string text)

Creates a new ByteString by encoding the specified text in UTF-8.

Parameter
NameDescription
textstring
Returns
TypeDescription
ByteString

CopyTo(byte[], int)

public void CopyTo(byte[] array, int position)

Copies the entire byte array to the destination array provided at the offset specified.

Parameters
NameDescription
arraybyte
positionint

CreateCodedInput()

public CodedInputStream CreateCodedInput()

Creates a CodedInputStream from this ByteString's data.

Returns
TypeDescription
CodedInputStream

Equals(ByteString)

public bool Equals(ByteString other)

Compares this byte string with another.

Parameter
NameDescription
otherByteString

The ByteString to compare this with.

Returns
TypeDescription
bool

true if other refers to an equal byte string; false otherwise.

Equals(object)

public override bool Equals(object obj)

Compares this byte string with another object.

Parameter
NameDescription
objobject

The object to compare this with.

Returns
TypeDescription
bool

true if obj refers to an equal ByteString; false otherwise.

Overrides

FromBase64(string)

public static ByteString FromBase64(string bytes)

Constructs a ByteString from the Base64 Encoded String.

Parameter
NameDescription
bytesstring
Returns
TypeDescription
ByteString

FromStream(Stream)

public static ByteString FromStream(Stream stream)

Constructs a ByteString from data in the given stream, synchronously.

Parameter
NameDescription
streamStream

The stream to copy into a ByteString.

Returns
TypeDescription
ByteString

A ByteString with content read from the given stream.

Remarks

If successful, stream will be read completely, from the position at the start of the call.

FromStreamAsync(Stream, CancellationToken)

public static Task<ByteString> FromStreamAsync(Stream stream, CancellationToken cancellationToken = default)

Constructs a ByteString from data in the given stream, asynchronously.

Parameters
NameDescription
streamStream

The stream to copy into a ByteString.

cancellationTokenCancellationToken

The cancellation token to use when reading from the stream, if any.

Returns
TypeDescription
TaskByteString

A ByteString with content read from the given stream.

Remarks

If successful, stream will be read completely, from the position at the start of the call.

GetEnumerator()

public IEnumerator<byte> GetEnumerator()

Returns an iterator over the bytes in this ByteString.

Returns
TypeDescription
IEnumeratorbyte

An iterator over the bytes in this object.

GetHashCode()

public override int GetHashCode()

Returns a hash code for this object. Two equal byte strings will return the same hash code.

Returns
TypeDescription
int

A hash code for this object.

Overrides

ToBase64()

public string ToBase64()

Converts this ByteString into a standard base64 representation.

Returns
TypeDescription
string

A base64 representation of this ByteString.

ToByteArray()

public byte[] ToByteArray()

Converts this ByteString into a byte array.

Returns
TypeDescription
byte

A byte array with the same data as this ByteString.

Remarks

The data is copied - changes to the returned array will not be reflected in this ByteString.

ToString(Encoding)

public string ToString(Encoding encoding)

Converts this ByteString into a string by applying the given encoding.

Parameter
NameDescription
encodingEncoding

The encoding to use to decode the binary data into text.

Returns
TypeDescription
string

The result of decoding the binary data with the given decoding.

Remarks

This method should only be used to convert binary data which was the result of encoding text with the given encoding.

ToStringUtf8()

public string ToStringUtf8()

Converts this ByteString into a string by applying the UTF-8 encoding.

Returns
TypeDescription
string

The result of decoding the binary data with the given decoding.

Remarks

This method should only be used to convert binary data which was the result of encoding text with UTF-8.

WriteTo(Stream)

public void WriteTo(Stream outputStream)

Writes the entire byte array to the provided stream

Parameter
NameDescription
outputStreamStream

Operators

operator ==(ByteString, ByteString)

public static bool operator ==(ByteString lhs, ByteString rhs)

Compares two byte strings for equality.

Parameters
NameDescription
lhsByteString

The first byte string to compare.

rhsByteString

The second byte string to compare.

Returns
TypeDescription
bool

true if the byte strings are equal; false otherwise.

operator !=(ByteString, ByteString)

public static bool operator !=(ByteString lhs, ByteString rhs)

Compares two byte strings for inequality.

Parameters
NameDescription
lhsByteString

The first byte string to compare.

rhsByteString

The second byte string to compare.

Returns
TypeDescription
bool

false if the byte strings are equal; true otherwise.