UTF-8校验
//js版本代码
/**
* Created by dcp on 2018/9/9.
*/
// UTF-8校验
const readline = require('readline');
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
var inputArr = [];
rl.on('line', function (input) {
inputArr.push(input);
var nLine = +inputArr[0];//转化成数字类型
// console.log(inputArr)
if (inputArr.length==2) {
// console.log(inputArr)
// console.log(inputArr.slice(1))
var arr=inputArr.slice(1).toString().split(' ')
var result=arr.map(function (item) {
return item-0
})
// console.log(arr)
// console.log(result)
console.log(validUtf8(result))
}
});
function validUtf8(data) {
if(data==null || data.length==0) return 0;
for(var i=0;i<data.length;i++) {
if(data[i]>255) return 0; // 1 after 8th digit, 100000000
var numberOfBytes = 0;
if((data[i] & 128) == 0) { // 0xxxxxxx, 1 byte, 128(10000000)
numberOfBytes = 1;
} else if((data[i] & 224) == 192) { // 110xxxxx, 2 bytes, 224(11100000), 192(11000000)
numberOfBytes = 2;
} else if((data[i] & 240) == 224) { // 1110xxxx, 3 bytes, 240(11110000), 224(11100000)