package com.interview.books.fgdsb; /** * Created_By: stefanie * Date: 15-2-3 * Time: 上午9:32 */ public class NLC29_ValidUTF8 { public boolean valid(String str){ int size = 0; for(int i = 0; i < str.length(); i++){ char c = str.charAt(i); if(size == 0){ if((c >> 5) == 0b110) size = 1; //110xxxxx else if((c >> 4) == 0b1110) size = 2; //1110xxxx else if((c >> 3) == 0b11110) size = 3;//11110xxx else if((c >> 7) == 1) return false; //0xxxxxxx } else { if((c >> 6) != 0b10) return false; //10xxxxxx --size; } } return size == 0; } }