[Go] Package UTF8

Package UTF8

UTF8 은 인코딩 방식중 하나로써 세상의 문자들을 1-4 byte 를 사용하여 표현한다.

Table of Contents

UTF8 코드 열어보기

utf8.RuneCountInString

글자 수를 int 타입으로 리턴한다.

func RuneCountInString(s string) (n int) {
  ns := len(s)
  for i := 0; i < ns; n++ {
     c := s[i]
     if c < RuneSelf {
        i++
        continue
     }
     x := first[c]
     if x == xx {
        i++ 
        continue
     }
     size := int(x & 7)
     if i+size > ns {
        i++ 
        continue
     }
     accept := acceptRanges[x>>4]
     if c := s[i+1]; c < accept.lo || accept.hi < c {
        size = 1
     } else if size == 2 {
     } else if c := s[i+2]; c < locb || hicb < c {
        size = 1
     } else if size == 3 {
     } else if c := s[i+3]; c < locb || hicb < c {
        size = 1
     }
     i += size
  }
  return n
}

↑ return to TOC