def utf8_char_length_in_bytes(first_byte)
      if first_byte.hex < 'C0'.hex
        1
      elsif first_byte.hex < 'DF'.hex
        2
      elsif first_byte.hex < 'EF'.hex
        3
      else
        4
      end
    end
def utf8_char_length_in_bytes(first_byte)
      if first_byte.hex < 'C0'.hex
        1
      elsif first_byte.hex < 'DF'.hex
        2
      elsif first_byte.hex < 'EF'.hex
        3
      else
        4
      end
    end
If the first byte is between 0xC0 and 0xDF, the UTF-8 character has two bytes;
 if it is between 0xE0 and 0xEF, the UTF-8 character has 3 bytes;
 and if it is 0xF0 and 0xFF, the UTF-8 character has 4 bytes.
 first_byte is a string like "0x13"