UTF-8,Unicode, Goのbyte, rune関係がよく分からなかったのでいろいろ調べて、自分なりに解釈ができたので、まとめてみようと思います。 まずは定義から行きましょう。 UTF-8: Unicodeで使える8ビット符号単位の文字符号化形式 Unicode: 文字集合(文字セット)が単一の大規模文字セット ようするに、UTF-8は、Unicodeを符号化(エンコード)するやつで、Unicodeはいろんな文字の集合です。 aとか"あ"とか"亜"とか、ほんといろいろな文字の集合。 そして、Unicodeの文字には、識別しやすいように数字が割り振られていて、その数字をコードポイント(Go言語でrune型に割り当てられる)といいます。実際にコードで違いを見てみましょう。 func main() { s := "あいうえお" b := []byte(s) for _, bi := ra