import "utf8"

UTF-8エンコードされたテキストをサポートする関数および定数です。
このパッケージでは「ユニコード文字」のことを「ルーン」と呼んでいます。

Package files

utf8.go

定数

エンコーディングに関する基本的な値です。

const (
    RuneError = unicode.ReplacementChar; // エラーを表すルーンで、"replacement character"
    RuneSelf  = 0x80;                    // Runeselfより小さい値は1バイト長のルーン
    UTFMax    = 4;                       // UTF-8エンコードされたユニコード文字の最大バイト長
)

DecodeRune関数

func DecodeRune(p []byte) (rune, size int)

DecodeRuneはパラメータpの最初の一文字をUTF-8からルーンに変換し、バイト長とともに返します。

DecodeRuneInString関数

func DecodeRuneInString(s string) (rune, size int)

DecodeRuneInString はDecodeRuneと同じですが、入力パラメータは文字列です。

EncodeRune関数

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

EncodeRuneはルーンをUTF-8エンコードにしてパラメータp(十分なサイズが必要)に書き込みます。
書き込んだバイト数を返します。

FullRune関数

func FullRune(p []byte) bool

FullRuneはパラメータpのバイト列の先頭が、ルーンの完全なUTF-8エンコーディングであるかを返します。
エンコーディングが不正なときはtrueが返されます。

FullRuneInString関数

func FullRuneInString(s string) bool

FullRuneInStringはFullRuneと同じですが、入力パラメータは文字列です。

RuneCount関数

func RuneCount(p []byte) int

RuneCountはパラメータp内のルーン数を返します。
エラーや短いエンコードは1バイトのルーンとしてカウントされます。

RuneCountInString関数

func RuneCountInString(s string) int

RuneCountInStringはRuneCountと同じですが、入力パラメータは文字列です。

RuneLen関数

func RuneLen(rune int) int

RuneLenはルーンのエンコードに必要なバイト数を返します。

RuneStart関数

func RuneStart(b byte) bool

RuneStart reportsはパラメータbで指定した1バイトが、ルーンの先頭1バイトと成り得るか判断します。
2番目または、それ以降のバイトデータは常に先頭2ビットは”10″です。