private static int utf8Read4 ( int cu1 , int cu2 , int cu3 , int cu4 ) { if ( ( cu2 & 0xC0 ) != 0x80 ) { return INVALID ; } if ( cu1 == 0xF0 && cu2 < 0x90 ) { return INVALID ; // overlong } if ( cu1 == 0xF4 && cu2 >= 0x90 ) { return INVALID ; // > U+10FFFF } if ( ( cu3 & 0xC0 ) != 0x80 ) { return INVALID ; } if ( ( cu4 & 0xC0 ) != 0x80 ) { return INVALID ; } return ( cu1 << 18 ) + ( cu2 << 12 ) + ( cu3 << 6 ) + cu4 - 0x3C82080 ; }
Read a 4 byte UTF8 sequence .