Documentation ¶
Overview ¶
Package utf8 implements functions and constants to support text encoded in UTF-8. It includes functions to translate between runes and UTF-8 byte sequences.
Index ¶
- Constants
- func DecodeLastRune(p []byte) (r rune, size int)
- func DecodeLastRuneInString(s string) (r rune, size int)
- func DecodeRune(p []byte) (r rune, size int)
- func DecodeRuneInString(s string) (r rune, size int)
- func EncodeRune(p []byte, r rune) int
- func FullRune(p []byte) bool
- func FullRuneInString(s string) bool
- func RuneCount(p []byte) int
- func RuneCountInString(s string) (n int)
- func RuneLen(r rune) int
- func RuneStart(b byte) bool
- func Valid(p []byte) bool
- func ValidString(s string) bool
Constants ¶
const ( RuneError = unicode.ReplacementChar // the "error" Rune or "replacement character". RuneSelf = 0x80 // characters below Runeself are represented as themselves in a single byte. UTFMax = 4 // maximum number of bytes of a UTF-8 encoded Unicode character. )
Numbers fundamental to the encoding.
Variables ¶
This section is empty.
Functions ¶
func DecodeLastRune ¶
DecodeLastRune unpacks the last UTF-8 encoding in p and returns the rune and its width in bytes. If the encoding is invalid, it returns (RuneError, 1), an impossible result for correct UTF-8.
func DecodeLastRuneInString ¶
DecodeLastRuneInString is like DecodeLastRune but its input is a string. If the encoding is invalid, it returns (RuneError, 1), an impossible result for correct UTF-8.
func DecodeRune ¶
DecodeRune unpacks the first UTF-8 encoding in p and returns the rune and its width in bytes. If the encoding is invalid, it returns (RuneError, 1), an impossible result for correct UTF-8.
func DecodeRuneInString ¶
DecodeRuneInString is like DecodeRune but its input is a string. If the encoding is invalid, it returns (RuneError, 1), an impossible result for correct UTF-8.
func EncodeRune ¶
EncodeRune writes into p (which must be large enough) the UTF-8 encoding of the rune. It returns the number of bytes written.
func 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 FullRuneInString ¶
FullRuneInString is like FullRune but its input is a string.
func RuneCount ¶
RuneCount returns the number of runes in p. Erroneous and short encodings are treated as single runes of width 1 byte.
func RuneCountInString ¶
RuneCountInString is like RuneCount but its input is a string.
func RuneStart ¶
RuneStart reports whether the byte could be the first byte of an encoded rune. Second and subsequent bytes always have the top two bits set to 10.
func ValidString ¶
ValidString reports whether s consists entirely of valid UTF-8-encoded runes.
Types ¶
This section is empty.