public sealed class ByteString : IEnumerable<byte>, IEnumerable, IEquatable<ByteString>
Immutable array of bytes.
Namespace
Google.ProtobufAssembly
Google.Protobuf.dll
Properties
Empty
public static ByteString Empty { get; }
Returns an empty ByteString.
Property Value | |
---|---|
Type | Description |
ByteString |
IsEmpty
public bool IsEmpty { get; }
Returns true
if this byte string is empty, false
otherwise.
Property Value | |
---|---|
Type | Description |
bool |
this[int]
public byte this[int index] { get; }
Returns the byte at the given index.
Parameter | |
---|---|
Name | Description |
index |
int |
Property Value | |
---|---|
Type | Description |
byte |
Length
public int Length { get; }
Returns the length of this ByteString in bytes.
Property Value | |
---|---|
Type | Description |
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 | |
---|---|
Type | Description |
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 | |
---|---|
Type | Description |
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 | |
---|---|
Name | Description |
bytes |
byte |
Returns | |
---|---|
Type | Description |
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 | |
---|---|
Name | Description |
bytes |
byte |
offset |
int |
count |
int |
Returns | |
---|---|
Type | Description |
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 | |
---|---|
Name | Description |
bytes |
ReadOnlySpanbyte |
Returns | |
---|---|
Type | Description |
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 | |
---|---|
Name | Description |
text |
string |
encoding |
Encoding |
Returns | |
---|---|
Type | Description |
ByteString |
CopyFromUtf8(string)
public static ByteString CopyFromUtf8(string text)
Creates a new ByteString by encoding the specified text in UTF-8.
Parameter | |
---|---|
Name | Description |
text |
string |
Returns | |
---|---|
Type | Description |
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 | |
---|---|
Name | Description |
array |
byte |
position |
int |
CreateCodedInput()
public CodedInputStream CreateCodedInput()
Creates a CodedInputStream from this ByteString's data.
Returns | |
---|---|
Type | Description |
CodedInputStream |
Equals(ByteString)
public bool Equals(ByteString other)
Compares this byte string with another.
Parameter | |
---|---|
Name | Description |
other |
ByteString The ByteString to compare this with. |
Returns | |
---|---|
Type | Description |
bool |
|
Equals(object)
public override bool Equals(object obj)
Compares this byte string with another object.
Parameter | |
---|---|
Name | Description |
obj |
object The object to compare this with. |
Returns | |
---|---|
Type | Description |
bool |
|
FromBase64(string)
public static ByteString FromBase64(string bytes)
Constructs a ByteString from the Base64 Encoded String.
Parameter | |
---|---|
Name | Description |
bytes |
string |
Returns | |
---|---|
Type | Description |
ByteString |
FromStream(Stream)
public static ByteString FromStream(Stream stream)
Constructs a ByteString from data in the given stream, synchronously.
Parameter | |
---|---|
Name | Description |
stream |
Stream The stream to copy into a ByteString. |
Returns | |
---|---|
Type | Description |
ByteString |
A ByteString with content read from the given stream. |
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 | |
---|---|
Name | Description |
stream |
Stream The stream to copy into a ByteString. |
cancellationToken |
CancellationToken The cancellation token to use when reading from the stream, if any. |
Returns | |
---|---|
Type | Description |
TaskByteString |
A ByteString with content read from the given stream. |
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 | |
---|---|
Type | Description |
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 | |
---|---|
Type | Description |
int |
A hash code for this object. |
ToBase64()
public string ToBase64()
Converts this ByteString into a standard base64 representation.
Returns | |
---|---|
Type | Description |
string |
A base64 representation of this |
ToByteArray()
public byte[] ToByteArray()
Converts this ByteString into a byte array.
Returns | |
---|---|
Type | Description |
byte |
A byte array with the same data as this |
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 | |
---|---|
Name | Description |
encoding |
Encoding The encoding to use to decode the binary data into text. |
Returns | |
---|---|
Type | Description |
string |
The result of decoding the binary data with the given decoding. |
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 | |
---|---|
Type | Description |
string |
The result of decoding the binary data with the given decoding. |
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 | |
---|---|
Name | Description |
outputStream |
Stream |
Operators
operator ==(ByteString, ByteString)
public static bool operator ==(ByteString lhs, ByteString rhs)
Compares two byte strings for equality.
Parameters | |
---|---|
Name | Description |
lhs |
ByteString The first byte string to compare. |
rhs |
ByteString The second byte string to compare. |
Returns | |
---|---|
Type | Description |
bool |
|
operator !=(ByteString, ByteString)
public static bool operator !=(ByteString lhs, ByteString rhs)
Compares two byte strings for inequality.
Parameters | |
---|---|
Name | Description |
lhs |
ByteString The first byte string to compare. |
rhs |
ByteString The second byte string to compare. |
Returns | |
---|---|
Type | Description |
bool |
|