go1.20.5
GoThrough

utf8.MaxRune

// Numbers fundamental to the encoding. const MaxRune = '\U0010FFFF'

utf8.RuneError

// Numbers fundamental to the encoding. const RuneError = '\uFFFD'

utf8.RuneSelf

// Numbers fundamental to the encoding. const RuneSelf = 0x80

utf8.UTFMax

// Numbers fundamental to the encoding. const UTFMax = 4

utf8.AppendRune

// AppendRune appends the UTF-8 encoding of r to the end of p and // returns the extended buffer. If the rune is out of range, // it appends the encoding of RuneError. func AppendRune(p []byte, r rune) []byte

utf8.DecodeLastRune

// DecodeLastRune unpacks the last UTF-8 encoding in p and returns the rune and // its width in bytes. If p is empty it returns (RuneError, 0). Otherwise, if // the encoding is invalid, it returns (RuneError, 1). Both are impossible // results for correct, non-empty UTF-8. // // An encoding is invalid if it is incorrect UTF-8, encodes a rune that is // out of range, or is not the shortest possible UTF-8 encoding for the // value. No other validation is performed. func DecodeLastRune(p []byte) (r rune, size int)

utf8.DecodeLastRuneInString

// DecodeLastRuneInString is like DecodeLastRune but its input is a string. If // s is empty it returns (RuneError, 0). Otherwise, if the encoding is invalid, // it returns (RuneError, 1). Both are impossible results for correct, // non-empty UTF-8. // // An encoding is invalid if it is incorrect UTF-8, encodes a rune that is // out of range, or is not the shortest possible UTF-8 encoding for the // value. No other validation is performed. func DecodeLastRuneInString(s string) (r rune, size int)

utf8.DecodeRune

// DecodeRune unpacks the first UTF-8 encoding in p and returns the rune and // its width in bytes. If p is empty it returns (RuneError, 0). Otherwise, if // the encoding is invalid, it returns (RuneError, 1). Both are impossible // results for correct, non-empty UTF-8. // // An encoding is invalid if it is incorrect UTF-8, encodes a rune that is // out of range, or is not the shortest possible UTF-8 encoding for the // value. No other validation is performed. func DecodeRune(p []byte) (r rune, size int)

utf8.DecodeRuneInString

// DecodeRuneInString is like DecodeRune but its input is a string. If s is // empty it returns (RuneError, 0). Otherwise, if the encoding is invalid, it // returns (RuneError, 1). Both are impossible results for correct, non-empty // UTF-8. // // An encoding is invalid if it is incorrect UTF-8, encodes a rune that is // out of range, or is not the shortest possible UTF-8 encoding for the // value. No other validation is performed. func DecodeRuneInString(s string) (r rune, size int)

utf8.EncodeRune

// EncodeRune writes into p (which must be large enough) the UTF-8 encoding of the rune. // If the rune is out of range, it writes the encoding of RuneError. // It returns the number of bytes written. func EncodeRune(p []byte, r rune) int

utf8.FullRune

// FullRune reports whether the bytes in p begin with a full UTF-8 encoding of a rune. // An invalid encoding is considered a full Rune since it will convert as a width-1 error rune. func FullRune(p []byte) bool

utf8.FullRuneInString

// FullRuneInString is like FullRune but its input is a string. func FullRuneInString(s string) bool

utf8.RuneCount

// RuneCount returns the number of runes in p. Erroneous and short // encodings are treated as single runes of width 1 byte. func RuneCount(p []byte) int

utf8.RuneCountInString

// RuneCountInString is like RuneCount but its input is a string. func RuneCountInString(s string) (n int)

utf8.RuneLen

// RuneLen returns the number of bytes required to encode the rune. // It returns -1 if the rune is not a valid value to encode in UTF-8. func RuneLen(r rune) int

utf8.RuneStart

// RuneStart reports whether the byte could be the first byte of an encoded, // possibly invalid rune. Second and subsequent bytes always have the top two // bits set to 10. func RuneStart(b byte) bool

utf8.Valid

// Valid reports whether p consists entirely of valid UTF-8-encoded runes. func Valid(p []byte) bool

utf8.ValidRune

// ValidRune reports whether r can be legally encoded as UTF-8. // Code points that are out of range or a surrogate half are illegal. func ValidRune(r rune) bool

utf8.ValidString

// ValidString reports whether s consists entirely of valid UTF-8-encoded runes. func ValidString(s string) bool