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″です。
Trackback URL
Leave a comment
Comments