当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


GO EncodeRune用法及代码示例


GO语言"unicode/utf8"包中"EncodeRune"函数的用法及代码示例。

用法:

func EncodeRune(p []byte, r rune) int

EncodeRune 将符文的 UTF-8 编码写入 p(必须足够大)。如果符文超出范围,则写入RuneError的编码,返回写入的字节数。

例子:

package main

import (
	"fmt"
	"unicode/utf8"
)

func main() {
	r := '世'
	buf := make([]byte, 3)

	n := utf8.EncodeRune(buf, r)

	fmt.Println(buf)
	fmt.Println(n)
}

输出:

[228 184 150]
3

示例(超出范围):

package main

import (
	"fmt"
	"unicode/utf8"
)

func main() {
	runes := []rune{
		// Less than 0, out of range.
		-1,
		// Greater than 0x10FFFF, out of range.
		0x110000,
		// The Unicode replacement character.
		utf8.RuneError,
	}
	for i, c := range runes {
		buf := make([]byte, 3)
		size := utf8.EncodeRune(buf, c)
		fmt.Printf("%d: %d %[2]s %d\n", i, buf, size)
	}
}

输出:

0: [239 191 189] � 3
1: [239 191 189] � 3
2: [239 191 189] � 3

相关用法


注:本文由纯净天空筛选整理自golang.google.cn大神的英文原创作品 EncodeRune。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。