| 12345678910111213141516171819202122232425262728 | func validUtf8(data []int) bool {	n, cnt := len(data), 0	for i, m := 0, 0; i < n; i++ {		if cnt != 0 {			if data[i]>>6 != 2 {				return false			}			cnt--			continue		}		// b10000000 = 0x80		for m = 0x80; m&data[i] != 0; m >>= 1 {		}		switch m {		case 0x80: // 0xxxxxxx		case 0x20: // 110xxxxx			cnt = 1		case 0x10: // 1110xxxx			cnt = 2		case 0x08: // 11110xxx			cnt = 3		default:			return false		}	}	return cnt == 0}
 |