package utf8

import “unicode/utf8”

utf8包实现了对utf-8文本的常用函数和常数的支持,包括rune和utf-8编码byte序列之间互相翻译的函数。

Index 返回首页

Constants func ValidRune(r rune) bool func RuneLen(r rune) int func RuneStart(b byte) bool func FullRune(p []byte) bool func FullRuneInString(s string) bool func Valid(p []byte) bool func ValidString(s string) bool func RuneCount(p []byte) int func RuneCountInString(s string) int func EncodeRune(p []byte, r rune) int func DecodeRune(p []byte) (r rune, size int) func DecodeRuneInString(s string) (r rune, size int) func DecodeLastRune(p []byte) (r rune, size int) func DecodeLastRuneInString(s string) (r rune, size int) Examples

返回首页

DecodeLastRune DecodeLastRuneInString DecodeRune DecodeRuneInString EncodeRune FullRune FullRuneInString RuneCount RuneCountInString RuneLen RuneStart Valid ValidRune ValidString Constants const ( RuneError = ‘\uFFFD’ // 错误的Rune或”Unicode replacement character” RuneSelf = 0x80 // 低于RunSelf的字符用代表单字节的同一值表示 MaxRune = ‘\U0010FFFF’ // 最大的合法unicode码值 UTFMax = 4 // 最大的utf-8编码的unicode字符的长度 ) 编码的基础常数。

func ValidRune func ValidRune(r rune) bool 判断r是否可以编码为合法的utf-8序列。

Example func RuneLen func RuneLen(r rune) int 返回r编码后的字节数。如果r不是一个合法的可编码为utf-8序列的值,会返回-1。

Example func RuneStart func RuneStart(b byte) bool 报告字节b是否可以作为某个rune编码后的第一个字节。第二个即之后的字节总是将左端两个字位设为10。

Example func FullRune func FullRune(p []byte) bool 报告切片p是否以一个码值的完整utf-8编码开始。不合法的编码因为会被转换为宽度1的错误码值而被视为完整的。

Example func FullRuneInString func FullRuneInString(s string) bool 函数类似FullRune但输入参数是字符串。

Example func RuneCount func RuneCount(p []byte) int 返回p中的utf-8编码的码值的个数。错误或者不完整的编码会被视为宽度1字节的单个码值。

Example func RuneCountInString func RuneCountInString(s string) (n int) 函数类似RuneCount但输入参数是一个字符串。

Example func Valid func Valid(p []byte) bool 返回切片p是否包含完整且合法的utf-8编码序列。

Example func ValidString func ValidString(s string) bool 报告s是否包含完整且合法的utf-8编码序列。

Example func EncodeRune func EncodeRune(p []byte, r rune) int EncodeRune将r的utf-8编码序列写入p(p必须有足够的长度),并返回写入的字节数。

Example func DecodeRune func DecodeRune(p []byte) (r rune, size int) 函数解码p开始位置的第一个utf-8编码的码值,返回该码值和编码的字节数。如果编码不合法,会返回(RuneError, 1)。该返回值在正确的utf-8编码情况下是不可能返回的。

如果一个utf-8编码序列格式不正确,或者编码的码值超出utf-8合法码值的范围,或者不是该码值的最短编码,该编码序列即是不合法的。函数不会执行其他的验证。

Example func DecodeRuneInString func DecodeRuneInString(s string) (r rune, size int) 函数类似DecodeRune但输入参数是字符串。

Example func DecodeLastRune func DecodeLastRune(p []byte) (r rune, size int) 函数解码p中最后一个utf-8编码序列,返回该码值和编码序列的长度。

Example func DecodeLastRuneInString func DecodeLastRuneInString(s string) (r rune, size int) 函数类似DecodeLastRune但输入参数是字符串