import "utf8"
UTF-8エンコードされたテキストをサポートする関数および定数です。このパッケージでは「Unicode文字」のことを「ルーン」と呼んでいます。
パッケージファイル
utf8.go
定数
エンコーディングに関する基本的な値です。
const (
RuneError = unicode.ReplacementChar // エラーを表すルーンで、"replacement character"
RuneSelf = 0x80 // Runeselfより小さい値は1バイト長のルーン
UTFMax = 4 // UTF-8エンコードされたUnicode文字の最大バイト長
)
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エンコーディングで始まっているかどうかを返します。エンコーディングが不正なときは、サイズ-1のエラールーンとみなされるために完全なルーンであると判断されます。
FullRuneInString関数
func FullRuneInString(s string) bool
FullRuneInStringは、FullRuneと同じですが、入力パラメータは文字列です。
RuneCount関数
func RuneCount(p []byte) int
RuneCountは、パラメータp内のルーン数を返します。エラーや欠落したエンコードは1バイトのルーンとしてカウントされます。
RuneCountInString関数
func RuneCountInString(s string) (n int)
RuneCountInStringは、RuneCountと同じですが、入力パラメータは文字列です。
RuneLen関数
func RuneLen(rune int) int
RuneLenは、ルーンのエンコードに必要なバイト数を返します。
RuneStart関数
func RuneStart(b byte) bool
RuneStartは、パラメータbで指定した1バイトが、ルーンの先頭1バイトと成り得るか判断します。2番目または、それ以降のバイトデータは先頭2ビットは常に”10″です。
Trackback URL
Comments