Struct Char8
- Namespace
- NumSharp
- Assembly
- NumSharp.dll
Represents a single byte as a character. Equivalent to NumPy's dtype('S1')
/ numpy.bytes_ of length 1, and to a Python bytes object of length 1.
Interoperable with byte, char (via Latin-1), and
string (via ASCII/Latin-1 encoding).
[Serializable]
public readonly struct Char8 : IComparable, IComparable<Char8>, IEquatable<Char8>, IConvertible, ISpanFormattable, IFormattable
- Implements
- Inherited Members
- Extension Methods
Constructors
Char8(byte)
Constructs a Char8 directly from a byte.
public Char8(byte value)
Parameters
valuebyte
Char8(char)
public Char8(char value)
Parameters
valuechar
Fields
MaxValue
The maximum value (0xFF).
public static readonly Char8 MaxValue
Field Value
MinValue
The minimum value (0x00).
public static readonly Char8 MinValue
Field Value
Properties
Value
Exposes the raw byte value.
public byte Value { get; }
Property Value
Methods
Abs(Char8)
Returns Max/Min/etc. — INumberBase-style one-offs.
public static Char8 Abs(Char8 value)
Parameters
valueChar8
Returns
AsBytes(ReadOnlySpan<Char8>)
Reinterprets a ReadOnlySpan<T> as ReadOnlySpan<T>. Zero-copy.
public static ReadOnlySpan<byte> AsBytes(ReadOnlySpan<Char8> chars)
Parameters
charsReadOnlySpan<Char8>
Returns
AsBytes(Span<Char8>)
public static Span<byte> AsBytes(Span<Char8> chars)
Parameters
Returns
AsChar8s(ReadOnlySpan<byte>)
Reinterprets a ReadOnlySpan<T> as ReadOnlySpan<T>. Zero-copy.
public static ReadOnlySpan<Char8> AsChar8s(ReadOnlySpan<byte> bytes)
Parameters
bytesReadOnlySpan<byte>
Returns
AsChar8s(Span<byte>)
public static Span<Char8> AsChar8s(Span<byte> bytes)
Parameters
Returns
Capitalize(ReadOnlySpan<Char8>)
Python b.capitalize() — first byte uppercase, rest lowercase.
public static Char8[] Capitalize(ReadOnlySpan<Char8> input)
Parameters
inputReadOnlySpan<Char8>
Returns
- Char8[]
CastFrom(byte)
Converts the specified Unicode code point into a UTF-16 encoded string.
public static Char8 CastFrom(byte value)
Parameters
valuebyte
Returns
- Char8
A string consisting of one char object or a surrogate pair of char objects equivalent to the code point specified by the
utf32parameter.
Exceptions
- ArgumentOutOfRangeException
utf32is not a valid 21-bit Unicode code point ranging from U+0 through U+10FFFF, excluding the surrogate pair range from U+D800 through U+DFFF.
CastFrom(char)
public static Char8 CastFrom(char value)
Parameters
valuechar
Returns
CastFrom(int)
public static Char8 CastFrom(int value)
Parameters
valueint
Returns
CastFrom(uint)
public static Char8 CastFrom(uint value)
Parameters
valueuint
Returns
CastFrom(ulong)
public static Char8 CastFrom(ulong value)
Parameters
valueulong
Returns
CastToUInt32(Char8)
public static uint CastToUInt32(Char8 value)
Parameters
valueChar8
Returns
Center(ReadOnlySpan<Char8>, int, Char8)
Python b.center(width, fillchar). Uses CPython's formula
left = pad/2 + (pad & width & 1) — extra padding goes on the LEFT when
pad is odd and width is also odd.
public static Char8[] Center(ReadOnlySpan<Char8> input, int width, Char8 fillChar)
Parameters
inputReadOnlySpan<Char8>widthintfillCharChar8
Returns
- Char8[]
CompareTo(Char8)
Compares the current instance with another object of the same type and returns an integer that indicates whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object.
public int CompareTo(Char8 value)
Parameters
valueChar8
Returns
- int
A value that indicates the relative order of the objects being compared. The return value has these meanings:
Value Meaning Less than zero This instance precedes otherin the sort order.Zero This instance occurs in the same position in the sort order as other.Greater than zero This instance follows otherin the sort order.
CompareTo(object?)
Compares the current instance with another object of the same type and returns an integer that indicates whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object.
public int CompareTo(object? value)
Parameters
valueobject
Returns
- int
A value that indicates the relative order of the objects being compared. The return value has these meanings:
Value Meaning Less than zero This instance precedes objin the sort order.Zero This instance occurs in the same position in the sort order as obj.Greater than zero This instance follows objin the sort order.
Exceptions
- ArgumentException
objis not the same type as this instance.
Deconstruct(out byte)
Deconstructs to the underlying byte. Enables pattern matching and assignment like var (b) = char8;.
public void Deconstruct(out byte value)
Parameters
valuebyte
Equals(Char8)
Indicates whether the current object is equal to another object of the same type.
public bool Equals(Char8 other)
Parameters
otherChar8An object to compare with this object.
Returns
Equals(byte)
public bool Equals(byte other)
Parameters
otherbyte
Returns
Equals(char)
public bool Equals(char other)
Parameters
otherchar
Returns
Equals(int)
public bool Equals(int other)
Parameters
otherint
Returns
Equals(object?)
Indicates whether this instance and a specified object are equal.
public override bool Equals(object? obj)
Parameters
objobjectThe object to compare with the current instance.
Returns
- bool
true if
objand this instance are the same type and represent the same value; otherwise, false.
FromBoolean(bool)
public static Char8 FromBoolean(bool b)
Parameters
bbool
Returns
FromByte(byte)
public static Char8 FromByte(byte b)
Parameters
bbyte
Returns
FromBytes(byte[])
Copies a byte[] into a new Char8[].
public static Char8[] FromBytes(byte[] bytes)
Parameters
bytesbyte[]
Returns
- Char8[]
FromChar(char)
public static Char8 FromChar(char c)
Parameters
cchar
Returns
FromCharTruncating(char)
Truncates a char to its low byte without bounds checking.
public static Char8 FromCharTruncating(char c)
Parameters
cchar
Returns
FromDecimal(decimal)
public static Char8 FromDecimal(decimal v)
Parameters
vdecimal
Returns
FromDouble(double)
public static Char8 FromDouble(double v)
Parameters
vdouble
Returns
FromDoubleArray(ReadOnlySpan<double>, bool)
public static Char8[] FromDoubleArray(ReadOnlySpan<double> src, bool saturating = false)
Parameters
srcReadOnlySpan<double>saturatingbool
Returns
- Char8[]
FromDoubleSaturating(double)
Saturates the input to [0, 255] — negative becomes 0, > 255 becomes 255, NaN becomes 0.
public static Char8 FromDoubleSaturating(double v)
Parameters
vdouble
Returns
FromInt16(short)
public static Char8 FromInt16(short v)
Parameters
vshort
Returns
FromInt16Truncating(short)
Truncates to 8 bits by masking (always succeeds).
public static Char8 FromInt16Truncating(short v)
Parameters
vshort
Returns
FromInt32(int)
public static Char8 FromInt32(int v)
Parameters
vint
Returns
FromInt32Array(ReadOnlySpan<int>, bool)
public static Char8[] FromInt32Array(ReadOnlySpan<int> src, bool truncating = false)
Parameters
srcReadOnlySpan<int>truncatingbool
Returns
- Char8[]
FromInt32Saturating(int)
Saturates the input to [0, 255] — negative becomes 0, > 255 becomes 255, NaN becomes 0.
public static Char8 FromInt32Saturating(int v)
Parameters
vint
Returns
FromInt32Truncating(int)
Truncates an int to its low byte without bounds checking.
public static Char8 FromInt32Truncating(int v)
Parameters
vint
Returns
FromInt64(long)
public static Char8 FromInt64(long v)
Parameters
vlong
Returns
FromInt64Saturating(long)
Saturates the input to [0, 255] — negative becomes 0, > 255 becomes 255, NaN becomes 0.
public static Char8 FromInt64Saturating(long v)
Parameters
vlong
Returns
FromInt64Truncating(long)
Truncates to 8 bits by masking (always succeeds).
public static Char8 FromInt64Truncating(long v)
Parameters
vlong
Returns
FromSByte(sbyte)
public static Char8 FromSByte(sbyte b)
Parameters
bsbyte
Returns
FromSingle(float)
public static Char8 FromSingle(float v)
Parameters
vfloat
Returns
FromStringAscii(string)
Encodes a string to a Char8[] assuming ASCII. Throws if any char is outside 0x00..0x7F.
This matches Python's s.encode('ascii').
public static Char8[] FromStringAscii(string s)
Parameters
sstring
Returns
- Char8[]
FromStringLatin1(string)
Encodes a string to a Char8[] assuming Latin-1 (ISO-8859-1). Throws if any char is
outside the 0x00..0xFF range. This matches Python's s.encode('latin-1').
public static Char8[] FromStringLatin1(string s)
Parameters
sstring
Returns
- Char8[]
FromStringUtf8(string)
Encodes a string as UTF-8 bytes, returning them as Char8[]. This matches Python's
s.encode('utf-8').
public static Char8[] FromStringUtf8(string s)
Parameters
sstring
Returns
- Char8[]
FromUInt16(ushort)
public static Char8 FromUInt16(ushort v)
Parameters
vushort
Returns
FromUInt16Truncating(ushort)
Truncates to 8 bits by masking (always succeeds).
public static Char8 FromUInt16Truncating(ushort v)
Parameters
vushort
Returns
FromUInt32(uint)
public static Char8 FromUInt32(uint v)
Parameters
vuint
Returns
FromUInt32Truncating(uint)
Truncates to 8 bits by masking (always succeeds).
public static Char8 FromUInt32Truncating(uint v)
Parameters
vuint
Returns
FromUInt64(ulong)
public static Char8 FromUInt64(ulong v)
Parameters
vulong
Returns
FromUInt64Truncating(ulong)
Truncates to 8 bits by masking (always succeeds).
public static Char8 FromUInt64Truncating(ulong v)
Parameters
vulong
Returns
GetByteCount()
Always returns 1 — a Char8 is a single byte.
public int GetByteCount()
Returns
GetHashCode()
Returns the hash code for this instance.
public override int GetHashCode()
Returns
- int
A 32-bit signed integer that is the hash code for this instance.
GetNumericValue(Char8)
Returns -1.0 for non-digit bytes, 0..9 for '0'..'9'. Full Latin-1 fractions/superscripts
(e.g. '¼', '½', '²') are not covered — use GetNumericValue(char) via
char.GetNumericValue((char)c) if you need them.
public static double GetNumericValue(Char8 c)
Parameters
cChar8
Returns
GetShortestBitLength()
The shortest bit length needed to represent the value (1..8).
public int GetShortestBitLength()
Returns
GetTypeCode()
Returns the TypeCode for this instance.
public TypeCode GetTypeCode()
Returns
- TypeCode
The enumerated constant that is the TypeCode of the class or value type that implements this interface.
GetUnicodeCategory(Char8)
Latin-1 Unicode category (always defined — every byte maps to Latin-1).
public static UnicodeCategory GetUnicodeCategory(Char8 c)
Parameters
cChar8
Returns
GetUtf8SequenceLength(Char8)
Returns the number of bytes in the UTF-8 sequence whose lead byte is c.
Returns 1 for ASCII, 2/3/4 for valid multi-byte leads, 0 for continuation or invalid bytes.
public static int GetUtf8SequenceLength(Char8 c)
Parameters
cChar8
Returns
IsAlnum(Char8)
Alias matching Python's bytes.isalnum().
public static bool IsAlnum(Char8 c)
Parameters
cChar8
Returns
IsAlnums(ReadOnlySpan<Char8>)
Python b.isalnum().
public static bool IsAlnums(ReadOnlySpan<Char8> input)
Parameters
inputReadOnlySpan<Char8>
Returns
IsAlpha(Char8)
Alias matching Python's bytes.isalpha().
public static bool IsAlpha(Char8 c)
Parameters
cChar8
Returns
IsAlphas(ReadOnlySpan<Char8>)
Python b.isalpha() — non-empty and every byte is an ASCII letter.
public static bool IsAlphas(ReadOnlySpan<Char8> input)
Parameters
inputReadOnlySpan<Char8>
Returns
IsAscii(Char8)
Returns true if the value is ASCII (0x00..0x7F).
public static bool IsAscii(Char8 c)
Parameters
cChar8
Returns
IsAsciiChar(Char8)
Alias matching Python's bytes.isascii().
public static bool IsAsciiChar(Char8 c)
Parameters
cChar8
Returns
IsAsciiDigit(Char8)
public static bool IsAsciiDigit(Char8 c)
Parameters
cChar8
Returns
IsAsciiHexDigit(Char8)
ASCII hex digit: '0'..'9', 'A'..'F', 'a'..'f'.
public static bool IsAsciiHexDigit(Char8 c)
Parameters
cChar8
Returns
IsAsciiHexDigitLower(Char8)
public static bool IsAsciiHexDigitLower(Char8 c)
Parameters
cChar8
Returns
IsAsciiHexDigitUpper(Char8)
public static bool IsAsciiHexDigitUpper(Char8 c)
Parameters
cChar8
Returns
IsAsciiLetter(Char8)
ASCII letter 'A'..'Z' or 'a'..'z'.
public static bool IsAsciiLetter(Char8 c)
Parameters
cChar8
Returns
IsAsciiLetterLower(Char8)
public static bool IsAsciiLetterLower(Char8 c)
Parameters
cChar8
Returns
IsAsciiLetterOrDigit(Char8)
public static bool IsAsciiLetterOrDigit(Char8 c)
Parameters
cChar8
Returns
IsAsciiLetterUpper(Char8)
public static bool IsAsciiLetterUpper(Char8 c)
Parameters
cChar8
Returns
IsAsciis(ReadOnlySpan<Char8>)
Python b.isascii() — every byte in [0x00, 0x7F]. Empty → true.
public static bool IsAsciis(ReadOnlySpan<Char8> input)
Parameters
inputReadOnlySpan<Char8>
Returns
IsBetween(Char8, Char8, Char8)
public static bool IsBetween(Char8 c, Char8 minInclusive, Char8 maxInclusive)
Parameters
Returns
IsControl(Char8)
Control character: ASCII 0x00..0x1F or 0x7F (DEL). Also covers C1 0x80..0x9F for parity with IsControl(char).
public static bool IsControl(Char8 c)
Parameters
cChar8
Returns
IsDigit(Char8)
Returns true for ASCII digits '0'..'9'. Non-ASCII bytes return false — matches NumPy / Python's
bytes.isdigit(). For Latin-1 digit categories use IsDigitLatin1(Char8).
public static bool IsDigit(Char8 c)
Parameters
cChar8
Returns
IsDigitLatin1(Char8)
Latin-1 digit check: 0x30..0x39 only. There are no decimal digits in Latin-1 supplement.
public static bool IsDigitLatin1(Char8 c)
Parameters
cChar8
Returns
IsDigits(ReadOnlySpan<Char8>)
Python b.isdigit() — non-empty and every byte is '0'..'9'.
public static bool IsDigits(ReadOnlySpan<Char8> input)
Parameters
inputReadOnlySpan<Char8>
Returns
IsEvenInteger(Char8)
public static bool IsEvenInteger(Char8 value)
Parameters
valueChar8
Returns
IsHighSurrogate(Char8)
public static bool IsHighSurrogate(Char8 c)
Parameters
cChar8
Returns
IsLetter(Char8)
Returns true for ASCII letters 'A'..'Z' / 'a'..'z'. Non-ASCII bytes return false — matches
NumPy / Python's bytes.isalpha(). For Latin-1 letters use IsLetterLatin1(Char8).
public static bool IsLetter(Char8 c)
Parameters
cChar8
Returns
IsLetterLatin1(Char8)
Latin-1 letter check: includes accented letters like 'é' (0xE9).
public static bool IsLetterLatin1(Char8 c)
Parameters
cChar8
Returns
IsLetterOrDigit(Char8)
ASCII letter or digit. Matches Python's bytes.isalnum().
public static bool IsLetterOrDigit(Char8 c)
Parameters
cChar8
Returns
IsLowSurrogate(Char8)
public static bool IsLowSurrogate(Char8 c)
Parameters
cChar8
Returns
IsLower(Char8)
ASCII lowercase 'a'..'z'. Matches Python's bytes.islower() semantics for a single byte.
public static bool IsLower(Char8 c)
Parameters
cChar8
Returns
IsLowerLatin1(Char8)
Latin-1 lowercase letter check.
public static bool IsLowerLatin1(Char8 c)
Parameters
cChar8
Returns
IsLowers(ReadOnlySpan<Char8>)
Python b.islower() — mirror of IsUppers.
public static bool IsLowers(ReadOnlySpan<Char8> input)
Parameters
inputReadOnlySpan<Char8>
Returns
IsNull(Char8)
Returns true if the value is 0 (null). Useful for C-string / null-terminated parsing.
public static bool IsNull(Char8 c)
Parameters
cChar8
Returns
IsNumber(Char8)
Latin-1 number (DecimalDigitNumber..OtherNumber). Includes superscript and fraction chars in Latin-1.
public static bool IsNumber(Char8 c)
Parameters
cChar8
Returns
IsOddInteger(Char8)
public static bool IsOddInteger(Char8 value)
Parameters
valueChar8
Returns
IsPow2(Char8)
public static bool IsPow2(Char8 value)
Parameters
valueChar8
Returns
IsPrintable(Char8)
Matches Python's bytes.isprintable(): ASCII 0x20..0x7E are printable; all other bytes are not.
public static bool IsPrintable(Char8 c)
Parameters
cChar8
Returns
IsPrintables(ReadOnlySpan<Char8>)
Python b.isprintable() — every byte in 0x20..0x7E. Empty → true.
public static bool IsPrintables(ReadOnlySpan<Char8> input)
Parameters
inputReadOnlySpan<Char8>
Returns
IsPunctuation(Char8)
Latin-1 punctuation (ConnectorPunctuation..OtherPunctuation).
public static bool IsPunctuation(Char8 c)
Parameters
cChar8
Returns
IsSeparator(Char8)
Latin-1 separator (SpaceSeparator..ParagraphSeparator). Only space (0x20) and NBSP (0xA0) qualify in Latin-1.
public static bool IsSeparator(Char8 c)
Parameters
cChar8
Returns
IsSpace(Char8)
Alias matching Python's bytes.isspace().
public static bool IsSpace(Char8 c)
Parameters
cChar8
Returns
IsSpaces(ReadOnlySpan<Char8>)
Python b.isspace().
public static bool IsSpaces(ReadOnlySpan<Char8> input)
Parameters
inputReadOnlySpan<Char8>
Returns
IsSurrogate(Char8)
public static bool IsSurrogate(Char8 c)
Parameters
cChar8
Returns
IsSymbol(Char8)
Latin-1 symbol (MathSymbol..OtherSymbol).
public static bool IsSymbol(Char8 c)
Parameters
cChar8
Returns
IsTitles(ReadOnlySpan<Char8>)
Python b.istitle() — title case alternation of ASCII letters.
public static bool IsTitles(ReadOnlySpan<Char8> input)
Parameters
inputReadOnlySpan<Char8>
Returns
IsUpper(Char8)
ASCII uppercase 'A'..'Z'. Matches Python's bytes.isupper() semantics for a single byte.
public static bool IsUpper(Char8 c)
Parameters
cChar8
Returns
IsUpperLatin1(Char8)
Latin-1 uppercase letter check.
public static bool IsUpperLatin1(Char8 c)
Parameters
cChar8
Returns
IsUppers(ReadOnlySpan<Char8>)
Python b.isupper() — true if at least one cased byte exists and all cased bytes are uppercase.
Non-cased bytes are permitted.
public static bool IsUppers(ReadOnlySpan<Char8> input)
Parameters
inputReadOnlySpan<Char8>
Returns
IsUtf8ContinuationByte(Char8)
True for UTF-8 continuation bytes (0x80..0xBF).
public static bool IsUtf8ContinuationByte(Char8 c)
Parameters
cChar8
Returns
IsUtf8Invalid(Char8)
True for bytes that are never valid in UTF-8 (0xC0, 0xC1, 0xF5..0xFF).
public static bool IsUtf8Invalid(Char8 c)
Parameters
cChar8
Returns
IsUtf8LeadByte(Char8)
True for UTF-8 lead bytes of multi-byte sequences (0xC2..0xF4).
public static bool IsUtf8LeadByte(Char8 c)
Parameters
cChar8
Returns
IsUtf8SingleByte(Char8)
True for ASCII bytes (0x00..0x7F) — single-byte UTF-8 sequences.
public static bool IsUtf8SingleByte(Char8 c)
Parameters
cChar8
Returns
IsWhiteSpace(Char8)
ASCII whitespace: space, tab, LF, VT, FF, CR. Matches Python's bytes.isspace().
public static bool IsWhiteSpace(Char8 c)
Parameters
cChar8
Returns
IsWhiteSpaceLatin1(Char8)
Latin-1 whitespace check: includes NBSP (0xA0) in addition to ASCII whitespace.
public static bool IsWhiteSpaceLatin1(Char8 c)
Parameters
cChar8
Returns
IsZero(Char8)
public static bool IsZero(Char8 value)
Parameters
valueChar8
Returns
Join(ReadOnlySpan<Char8>, Char8[][])
Python separator.join(iterable).
public static Char8[] Join(ReadOnlySpan<Char8> separator, Char8[][] parts)
Parameters
separatorReadOnlySpan<Char8>partsChar8[][]
Returns
- Char8[]
LJust(ReadOnlySpan<Char8>, int, Char8)
Python b.ljust(width, fillchar).
public static Char8[] LJust(ReadOnlySpan<Char8> input, int width, Char8 fillChar)
Parameters
inputReadOnlySpan<Char8>widthintfillCharChar8
Returns
- Char8[]
LStrip(ReadOnlySpan<Char8>)
Python b.lstrip() — strip leading ASCII whitespace.
public static Char8[] LStrip(ReadOnlySpan<Char8> input)
Parameters
inputReadOnlySpan<Char8>
Returns
- Char8[]
LStrip(ReadOnlySpan<Char8>, ReadOnlySpan<Char8>)
public static Char8[] LStrip(ReadOnlySpan<Char8> input, ReadOnlySpan<Char8> chars)
Parameters
inputReadOnlySpan<Char8>charsReadOnlySpan<Char8>
Returns
- Char8[]
LeadingZeroCount(Char8)
Leading zero count in 8-bit width.
public static Char8 LeadingZeroCount(Char8 value)
Parameters
valueChar8
Returns
Log2(Char8)
public static Char8 Log2(Char8 value)
Parameters
valueChar8
Returns
Lower(ReadOnlySpan<Char8>)
Python b.lower().
public static Char8[] Lower(ReadOnlySpan<Char8> input)
Parameters
inputReadOnlySpan<Char8>
Returns
- Char8[]
Max(Char8, Char8)
public static Char8 Max(Char8 x, Char8 y)
Parameters
Returns
Min(Char8, Char8)
public static Char8 Min(Char8 x, Char8 y)
Parameters
Returns
Parse(string)
Parses a one-character string as Char8. Throws if the string is not length 1 or contains a non-Latin-1 char.
public static Char8 Parse(string s)
Parameters
sstring
Returns
Partition(ReadOnlySpan<Char8>, ReadOnlySpan<Char8>)
Python b.partition(sep) — splits on first occurrence, returns (before, sep, after).
public static (Char8[] Before, Char8[] Sep, Char8[] After) Partition(ReadOnlySpan<Char8> input, ReadOnlySpan<Char8> separator)
Parameters
inputReadOnlySpan<Char8>separatorReadOnlySpan<Char8>
Returns
PopCount(Char8)
Population count (number of set bits).
public static Char8 PopCount(Char8 value)
Parameters
valueChar8
Returns
RJust(ReadOnlySpan<Char8>, int, Char8)
Python b.rjust(width, fillchar).
public static Char8[] RJust(ReadOnlySpan<Char8> input, int width, Char8 fillChar)
Parameters
inputReadOnlySpan<Char8>widthintfillCharChar8
Returns
- Char8[]
RPartition(ReadOnlySpan<Char8>, ReadOnlySpan<Char8>)
Python b.rpartition(sep) — splits on last occurrence.
public static (Char8[] Before, Char8[] Sep, Char8[] After) RPartition(ReadOnlySpan<Char8> input, ReadOnlySpan<Char8> separator)
Parameters
inputReadOnlySpan<Char8>separatorReadOnlySpan<Char8>
Returns
RSplit(ReadOnlySpan<Char8>, ReadOnlySpan<Char8>, int)
Python b.rsplit() — like Split but consumes from the right end.
public static Char8[][] RSplit(ReadOnlySpan<Char8> input, ReadOnlySpan<Char8> separator, int maxsplit = -1)
Parameters
inputReadOnlySpan<Char8>separatorReadOnlySpan<Char8>maxsplitint
Returns
- Char8[][]
RStrip(ReadOnlySpan<Char8>)
Python b.rstrip() — strip trailing ASCII whitespace.
public static Char8[] RStrip(ReadOnlySpan<Char8> input)
Parameters
inputReadOnlySpan<Char8>
Returns
- Char8[]
RStrip(ReadOnlySpan<Char8>, ReadOnlySpan<Char8>)
public static Char8[] RStrip(ReadOnlySpan<Char8> input, ReadOnlySpan<Char8> chars)
Parameters
inputReadOnlySpan<Char8>charsReadOnlySpan<Char8>
Returns
- Char8[]
Replace(ReadOnlySpan<Char8>, ReadOnlySpan<Char8>, ReadOnlySpan<Char8>, int)
Python b.replace(old, new, count).
public static Char8[] Replace(ReadOnlySpan<Char8> input, ReadOnlySpan<Char8> oldValue, ReadOnlySpan<Char8> newValue, int count = -1)
Parameters
inputReadOnlySpan<Char8>oldValueReadOnlySpan<Char8>newValueReadOnlySpan<Char8>countint
Returns
- Char8[]
RotateLeft(Char8, int)
Rotate left within 8 bits.
public static Char8 RotateLeft(Char8 value, int rotateAmount)
Parameters
Returns
RotateRight(Char8, int)
Rotate right within 8 bits.
public static Char8 RotateRight(Char8 value, int rotateAmount)
Parameters
Returns
Split(ReadOnlySpan<Char8>, int)
Python b.split() (no args) — splits on runs of ASCII whitespace, no empty elements, max maxsplit splits
(negative = unlimited). Matches Python exactly including the "leading whitespace is skipped" rule.
public static Char8[][] Split(ReadOnlySpan<Char8> input, int maxsplit = -1)
Parameters
inputReadOnlySpan<Char8>maxsplitint
Returns
- Char8[][]
Split(ReadOnlySpan<Char8>, ReadOnlySpan<Char8>, int)
Python b.split(sep) — splits on separator, preserves empty elements.
public static Char8[][] Split(ReadOnlySpan<Char8> input, ReadOnlySpan<Char8> separator, int maxsplit = -1)
Parameters
inputReadOnlySpan<Char8>separatorReadOnlySpan<Char8>maxsplitint
Returns
- Char8[][]
SplitLines(ReadOnlySpan<Char8>, bool)
Python bytes.splitlines(keepends) — splits on \n, \r, and \r\n only.
Unlike Python's str.splitlines(), bytes does NOT treat \v, \f,
\x1c..\x1e, or \x85 as line boundaries.
public static Char8[][] SplitLines(ReadOnlySpan<Char8> input, bool keepEnds = false)
Parameters
inputReadOnlySpan<Char8>keepEndsbool
Returns
- Char8[][]
Strip(ReadOnlySpan<Char8>)
Python b.strip() — strip ASCII whitespace from both ends.
public static Char8[] Strip(ReadOnlySpan<Char8> input)
Parameters
inputReadOnlySpan<Char8>
Returns
- Char8[]
Strip(ReadOnlySpan<Char8>, ReadOnlySpan<Char8>)
Python b.strip(chars) — strip any byte in chars from both ends.
public static Char8[] Strip(ReadOnlySpan<Char8> input, ReadOnlySpan<Char8> chars)
Parameters
inputReadOnlySpan<Char8>charsReadOnlySpan<Char8>
Returns
- Char8[]
SwapCase(ReadOnlySpan<Char8>)
Python b.swapcase().
public static Char8[] SwapCase(ReadOnlySpan<Char8> input)
Parameters
inputReadOnlySpan<Char8>
Returns
- Char8[]
Title(ReadOnlySpan<Char8>)
Python b.title() — titlecase ASCII: uppercase byte after any non-letter byte, lowercase elsewhere.
public static Char8[] Title(ReadOnlySpan<Char8> input)
Parameters
inputReadOnlySpan<Char8>
Returns
- Char8[]
ToBoolean()
Returns true if the byte is non-zero (C convention).
public bool ToBoolean()
Returns
ToBooleanArray(ReadOnlySpan<Char8>)
public static bool[] ToBooleanArray(ReadOnlySpan<Char8> src)
Parameters
srcReadOnlySpan<Char8>
Returns
- bool[]
ToByte()
public byte ToByte()
Returns
ToBytes(ReadOnlySpan<Char8>)
Copies a Char8[] into a new byte[].
public static byte[] ToBytes(ReadOnlySpan<Char8> chars)
Parameters
charsReadOnlySpan<Char8>
Returns
- byte[]
ToChar()
Widens to char via Latin-1 (0xE9 → 'é').
public char ToChar()
Returns
ToCharArray(ReadOnlySpan<Char8>)
public static char[] ToCharArray(ReadOnlySpan<Char8> src)
Parameters
srcReadOnlySpan<Char8>
Returns
- char[]
ToDecimal()
public decimal ToDecimal()
Returns
ToDouble()
public double ToDouble()
Returns
ToDoubleArray(ReadOnlySpan<Char8>)
public static double[] ToDoubleArray(ReadOnlySpan<Char8> src)
Parameters
srcReadOnlySpan<Char8>
Returns
- double[]
ToEscaped()
Returns the Python-style escaped representation — printable ASCII is returned as-is, recognized escapes use their literal form, all others use \xNN.
public string ToEscaped()
Returns
ToHex()
Returns the hex representation "0xNN".
public string ToHex()
Returns
ToInt16()
Returns the underlying byte as a short.
public short ToInt16()
Returns
ToInt16Array(ReadOnlySpan<Char8>)
public static short[] ToInt16Array(ReadOnlySpan<Char8> src)
Parameters
srcReadOnlySpan<Char8>
Returns
- short[]
ToInt32()
public int ToInt32()
Returns
ToInt32Array(ReadOnlySpan<Char8>)
public static int[] ToInt32Array(ReadOnlySpan<Char8> src)
Parameters
srcReadOnlySpan<Char8>
Returns
- int[]
ToInt64()
public long ToInt64()
Returns
ToInt64Array(ReadOnlySpan<Char8>)
public static long[] ToInt64Array(ReadOnlySpan<Char8> src)
Parameters
srcReadOnlySpan<Char8>
Returns
- long[]
ToLower(Char8)
ASCII lowercase (NumPy parity): bit-flips 'A'..'Z' to 'a'..'z'. Non-ASCII bytes unchanged.
public static Char8 ToLower(Char8 c)
Parameters
cChar8
Returns
ToLowerInvariant(Char8)
ASCII lowercase (NumPy parity): bit-flips 'A'..'Z' to 'a'..'z'. Non-ASCII bytes unchanged.
public static Char8 ToLowerInvariant(Char8 c)
Parameters
cChar8
Returns
ToLowerLatin1(Char8)
Latin-1 lowercase: folds 'Á'..'Þ' (0xC0..0xDE, excluding 0xD7) to 'á'..'þ' as well as ASCII letters.
public static Char8 ToLowerLatin1(Char8 c)
Parameters
cChar8
Returns
ToSByte()
public sbyte ToSByte()
Returns
ToSingle()
public float ToSingle()
Returns
ToSingleArray(ReadOnlySpan<Char8>)
public static float[] ToSingleArray(ReadOnlySpan<Char8> src)
Parameters
srcReadOnlySpan<Char8>
Returns
- float[]
ToString()
public override string ToString()
Returns
ToString(Char8)
Returns a one-character string for the given Char8.
public static string ToString(Char8 c)
Parameters
cChar8
Returns
ToString(IFormatProvider?)
Converts the value of this instance to an equivalent string using the specified culture-specific formatting information.
public string ToString(IFormatProvider? provider)
Parameters
providerIFormatProviderAn IFormatProvider interface implementation that supplies culture-specific formatting information.
Returns
ToStringAscii(ReadOnlySpan<Char8>)
Decodes a Char8[] as ASCII into a string. Throws if any byte > 0x7F.
public static string ToStringAscii(ReadOnlySpan<Char8> chars)
Parameters
charsReadOnlySpan<Char8>
Returns
ToStringLatin1(ReadOnlySpan<Char8>)
Decodes a Char8[] as Latin-1 into a string. Lossless for all bytes 0x00..0xFF.
public static string ToStringLatin1(ReadOnlySpan<Char8> chars)
Parameters
charsReadOnlySpan<Char8>
Returns
ToStringUtf8(ReadOnlySpan<Char8>)
Decodes a Char8[] as UTF-8 into a string.
public static string ToStringUtf8(ReadOnlySpan<Char8> chars)
Parameters
charsReadOnlySpan<Char8>
Returns
ToUInt16()
public ushort ToUInt16()
Returns
ToUInt32()
public uint ToUInt32()
Returns
ToUInt64()
public ulong ToUInt64()
Returns
ToUpper(Char8)
ASCII uppercase (NumPy parity): bit-flips 'a'..'z' to 'A'..'Z'. Non-ASCII bytes unchanged.
public static Char8 ToUpper(Char8 c)
Parameters
cChar8
Returns
ToUpperInvariant(Char8)
ASCII uppercase (NumPy parity): bit-flips 'a'..'z' to 'A'..'Z'. Non-ASCII bytes unchanged.
public static Char8 ToUpperInvariant(Char8 c)
Parameters
cChar8
Returns
ToUpperLatin1(Char8)
Latin-1 uppercase: folds 'á'..'þ' (0xE0..0xFE, excluding 0xF7) to 'Á'..'Þ' as well as ASCII letters. Matches ToUpperInvariant(char) over Latin-1.
public static Char8 ToUpperLatin1(Char8 c)
Parameters
cChar8
Returns
TrailingZeroCount(Char8)
Trailing zero count in 8-bit width (returns 8 for Char8.MinValue).
public static Char8 TrailingZeroCount(Char8 value)
Parameters
valueChar8
Returns
TryFromChar(char, out Char8)
public static bool TryFromChar(char c, out Char8 result)
Parameters
Returns
TryFromInt32(int, out Char8)
public static bool TryFromInt32(int v, out Char8 result)
Parameters
Returns
TryParse(string?, out Char8)
public static bool TryParse(string? s, out Char8 result)
Parameters
Returns
TryReadBigEndian(ReadOnlySpan<byte>, bool, out Char8)
Reads a Char8 from the last byte of source.
public static bool TryReadBigEndian(ReadOnlySpan<byte> source, bool isUnsigned, out Char8 value)
Parameters
sourceReadOnlySpan<byte>isUnsignedboolvalueChar8
Returns
TryReadLittleEndian(ReadOnlySpan<byte>, bool, out Char8)
Reads a Char8 from the last byte of source.
public static bool TryReadLittleEndian(ReadOnlySpan<byte> source, bool isUnsigned, out Char8 value)
Parameters
sourceReadOnlySpan<byte>isUnsignedboolvalueChar8
Returns
TryWriteBigEndian(Span<byte>, out int)
Writes the value as a single byte to destination.
public bool TryWriteBigEndian(Span<byte> destination, out int bytesWritten)
Parameters
Returns
TryWriteLittleEndian(Span<byte>, out int)
Writes the value as a single byte to destination.
public bool TryWriteLittleEndian(Span<byte> destination, out int bytesWritten)
Parameters
Returns
Upper(ReadOnlySpan<Char8>)
Python b.upper() — ASCII bit-flip of each byte.
public static Char8[] Upper(ReadOnlySpan<Char8> input)
Parameters
inputReadOnlySpan<Char8>
Returns
- Char8[]
ZFill(ReadOnlySpan<Char8>, int)
Python b.zfill(width) — pads with '0' on the left. Preserves leading '+'/'-' sign byte.
public static Char8[] ZFill(ReadOnlySpan<Char8> input, int width)
Parameters
inputReadOnlySpan<Char8>widthint
Returns
- Char8[]
Operators
operator +(Char8, Char8)
public static Char8 operator +(Char8 left, Char8 right)
Parameters
Returns
operator +(Char8, byte)
public static Char8 operator +(Char8 left, byte right)
Parameters
Returns
operator +(Char8, int)
Adds an integer offset, wrapping at byte boundary.
public static Char8 operator +(Char8 left, int right)
Parameters
Returns
operator +(byte, Char8)
public static Char8 operator +(byte left, Char8 right)
Parameters
Returns
operator +(int, Char8)
public static Char8 operator +(int left, Char8 right)
Parameters
Returns
operator &(Char8, Char8)
public static Char8 operator &(Char8 left, Char8 right)
Parameters
Returns
operator |(Char8, Char8)
public static Char8 operator |(Char8 left, Char8 right)
Parameters
Returns
operator --(Char8)
public static Char8 operator --(Char8 value)
Parameters
valueChar8
Returns
operator /(Char8, Char8)
public static Char8 operator /(Char8 left, Char8 right)
Parameters
Returns
operator ==(Char8, Char8)
public static bool operator ==(Char8 left, Char8 right)
Parameters
Returns
operator ==(Char8, byte)
public static bool operator ==(Char8 left, byte right)
Parameters
Returns
operator ==(Char8, char)
public static bool operator ==(Char8 left, char right)
Parameters
Returns
operator ==(Char8, int)
public static bool operator ==(Char8 left, int right)
Parameters
Returns
operator ==(byte, Char8)
public static bool operator ==(byte left, Char8 right)
Parameters
Returns
operator ==(char, Char8)
public static bool operator ==(char left, Char8 right)
Parameters
Returns
operator ==(int, Char8)
public static bool operator ==(int left, Char8 right)
Parameters
Returns
operator ^(Char8, Char8)
public static Char8 operator ^(Char8 left, Char8 right)
Parameters
Returns
explicit operator Char8(char)
Narrows from char. Throws if the char is outside Latin-1 (> 0xFF).
public static explicit operator Char8(char c)
Parameters
cchar
Returns
explicit operator Char8(int)
Narrows from int. Throws if the int is outside [0, 255].
public static explicit operator Char8(int v)
Parameters
vint
Returns
operator >(Char8, Char8)
public static bool operator >(Char8 left, Char8 right)
Parameters
Returns
operator >(Char8, byte)
public static bool operator >(Char8 left, byte right)
Parameters
Returns
operator >(Char8, char)
public static bool operator >(Char8 left, char right)
Parameters
Returns
operator >(Char8, int)
public static bool operator >(Char8 left, int right)
Parameters
Returns
operator >(byte, Char8)
public static bool operator >(byte left, Char8 right)
Parameters
Returns
operator >(char, Char8)
public static bool operator >(char left, Char8 right)
Parameters
Returns
operator >(int, Char8)
public static bool operator >(int left, Char8 right)
Parameters
Returns
operator >=(Char8, Char8)
public static bool operator >=(Char8 left, Char8 right)
Parameters
Returns
operator >=(Char8, byte)
public static bool operator >=(Char8 left, byte right)
Parameters
Returns
operator >=(Char8, char)
public static bool operator >=(Char8 left, char right)
Parameters
Returns
operator >=(Char8, int)
public static bool operator >=(Char8 left, int right)
Parameters
Returns
operator >=(byte, Char8)
public static bool operator >=(byte left, Char8 right)
Parameters
Returns
operator >=(char, Char8)
public static bool operator >=(char left, Char8 right)
Parameters
Returns
operator >=(int, Char8)
public static bool operator >=(int left, Char8 right)
Parameters
Returns
implicit operator byte(Char8)
public static implicit operator byte(Char8 c)
Parameters
cChar8
Returns
implicit operator char(Char8)
Widens to char via Latin-1 (byte 0xE9 -> char 'é' at U+00E9).
public static implicit operator char(Char8 c)
Parameters
cChar8
Returns
implicit operator int(Char8)
public static implicit operator int(Char8 c)
Parameters
cChar8
Returns
implicit operator uint(Char8)
public static implicit operator uint(Char8 c)
Parameters
cChar8
Returns
implicit operator Char8(byte)
public static implicit operator Char8(byte b)
Parameters
bbyte
Returns
operator ++(Char8)
public static Char8 operator ++(Char8 value)
Parameters
valueChar8
Returns
operator !=(Char8, Char8)
public static bool operator !=(Char8 left, Char8 right)
Parameters
Returns
operator !=(Char8, byte)
public static bool operator !=(Char8 left, byte right)
Parameters
Returns
operator !=(Char8, char)
public static bool operator !=(Char8 left, char right)
Parameters
Returns
operator !=(Char8, int)
public static bool operator !=(Char8 left, int right)
Parameters
Returns
operator !=(byte, Char8)
public static bool operator !=(byte left, Char8 right)
Parameters
Returns
operator !=(char, Char8)
public static bool operator !=(char left, Char8 right)
Parameters
Returns
operator !=(int, Char8)
public static bool operator !=(int left, Char8 right)
Parameters
Returns
operator <<(Char8, int)
public static Char8 operator <<(Char8 value, int shift)
Parameters
Returns
operator <(Char8, Char8)
public static bool operator <(Char8 left, Char8 right)
Parameters
Returns
operator <(Char8, byte)
public static bool operator <(Char8 left, byte right)
Parameters
Returns
operator <(Char8, char)
public static bool operator <(Char8 left, char right)
Parameters
Returns
operator <(Char8, int)
public static bool operator <(Char8 left, int right)
Parameters
Returns
operator <(byte, Char8)
public static bool operator <(byte left, Char8 right)
Parameters
Returns
operator <(char, Char8)
public static bool operator <(char left, Char8 right)
Parameters
Returns
operator <(int, Char8)
public static bool operator <(int left, Char8 right)
Parameters
Returns
operator <=(Char8, Char8)
public static bool operator <=(Char8 left, Char8 right)
Parameters
Returns
operator <=(Char8, byte)
public static bool operator <=(Char8 left, byte right)
Parameters
Returns
operator <=(Char8, char)
public static bool operator <=(Char8 left, char right)
Parameters
Returns
operator <=(Char8, int)
public static bool operator <=(Char8 left, int right)
Parameters
Returns
operator <=(byte, Char8)
public static bool operator <=(byte left, Char8 right)
Parameters
Returns
operator <=(char, Char8)
public static bool operator <=(char left, Char8 right)
Parameters
Returns
operator <=(int, Char8)
public static bool operator <=(int left, Char8 right)
Parameters
Returns
operator %(Char8, Char8)
public static Char8 operator %(Char8 left, Char8 right)
Parameters
Returns
operator *(Char8, Char8)
public static Char8 operator *(Char8 left, Char8 right)
Parameters
Returns
operator ~(Char8)
public static Char8 operator ~(Char8 value)
Parameters
valueChar8
Returns
operator >>(Char8, int)
public static Char8 operator >>(Char8 value, int shift)
Parameters
Returns
operator -(Char8, Char8)
public static Char8 operator -(Char8 left, Char8 right)
Parameters
Returns
operator -(Char8, byte)
public static Char8 operator -(Char8 left, byte right)
Parameters
Returns
operator -(Char8, int)
public static Char8 operator -(Char8 left, int right)
Parameters
Returns
operator -(Char8)
public static Char8 operator -(Char8 value)
Parameters
valueChar8
Returns
operator +(Char8)
public static Char8 operator +(Char8 value)
Parameters
valueChar8