classSolution:defvalidUtf8(self, data: List[int])->bool:
size =len(data)
index =0while index < size:if data[index]&128==0:
index +=1elif(data[index]&192==192)and(data[index]&32==0):
index +=1if index < size and(data[index]&128==128)and(data[index]&64==0):
index +=1else:returnFalseelif(data[index]&224==224)and(data[index]&16==0):
index +=1for i inrange(2):if index < size and(data[index]&128==128)and(data[index]&64==0):
index +=1else:returnFalseelif(data[index]&240==240)and(data[index]&8==0):
index +=1for i inrange(3):if index < size and(data[index]&128==128)and(data[index]&64==0):
index +=1else:returnFalseelse:returnFalsereturnTrue