Xác định độ dài của chuỗi byte UTF-8 cho byte đầu tiên của nó. Bảng sau đây cho thấy phạm vi bản đồ theo từng độ dài có thể:
Range Length
--------- ------
0x00-0x7F 1
0xC2-0xDF 2
0xE0-0xEF 3
0xF0-0xF4 4
Lưu ý về các khoảng trống trong bảng: 0x80-0xBF là các byte tiếp tục, 0xC0-0xC1 sẽ bắt đầu một chuỗi quá dài, không hợp lệ, 0xF5-0xFF sẽ dẫn đến một mật mã vượt quá mức tối đa Unicode.
Viết chương trình hoặc hàm lấy byte đầu tiên của chuỗi byte UTF-8 làm đầu vào và đầu ra hoặc trả về độ dài của chuỗi. I / O là linh hoạt. Ví dụ: đầu vào có thể là một số, ký tự 8 bit hoặc chuỗi một ký tự. Bạn có thể giả sử rằng byte đầu tiên là một phần của chuỗi hợp lệ và rơi vào một trong các phạm vi trên.
Đây là mã golf. Câu trả lời ngắn nhất trong byte thắng.
Các trường hợp thử nghiệm
0x00 => 1
0x41 => 1
0x7F => 1
0xC2 => 2
0xDF => 2
0xE0 => 3
0xEF => 3
0xF0 => 4
0xF4 => 4