當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。