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


GO DecodeLastRune用法及代码示例


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

用法:

func DecodeLastRune(p []byte)(r rune, size int)

DecodeLastRune 解压缩 p 中的最后一个 UTF-8 编码并返回符文及其宽度(以字节为单位)。如果 p 为空,则返回 (RuneError, 0)。否则,如果编码无效,则返回 (RuneError, 1)。对于正确的、非空的 UTF-8,两者都是不可能的结果。

如果 UTF-8 不正确,编码超出范围的符文,或者不是该值的最短可能 UTF-8 编码,则编码无效。不执行其他验证。

例子:

package main

import (
	"fmt"
	"unicode/utf8"
)

func main() {
	b := []byte("Hello, 世界")

	for len(b) > 0 {
		r, size := utf8.DecodeLastRune(b)
		fmt.Printf("%c %v\n", r, size)

		b = b[:len(b)-size]
	}
}

输出:

界 3
世 3
  1
, 1
o 1
l 1
l 1
e 1
H 1

相关用法


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