博客
关于我
leetcode-------393. UTF-8 编码验证【1】
阅读量:224 次
发布时间:2019-02-28

本文共 2264 字,大约阅读时间需要 7 分钟。

  

按照要求验证即可,这里将每种字节验证当做一个原子操作,要不完成,要不失败!

代码容易,但是功能清晰。


class Solution {public:    bool validUtf8(vector
& data) { int n=data.size(); int i=0; if(n==0) return true; while(i
=0&&t<=127) //1字节验证 { i++; }else if(t>=129&&t<=223) //2字节验证 { i++; if(i==n) return false; t=data[i]%256; if(t>=128&&t<=191) {i++;} else return false; } else if(t>=224&&t<=239)//3字节验证 { i++; if(i==n) return false; t=data[i]%256; if(t>=128&&t<=191) { i++; if(i==n) return false; t=data[i]%256; } else return false; if(t>=128&&t<=191) { i++; } else return false; } else if(t>=240&&t<=247) //4字节验证 { i++; if(i==n) return false; t=data[i]%256; if(t>=128&&t<=191) { i++; if(i==n) return false; t=data[i]%256; } else return false; if(t>=128&&t<=191) { i++; if(i==n) return false; t=data[i]%256; } else return false; if(t>=128&&t<=191) {i++;} else return false; }else return false; //非法字节验证 } return true; }};

简介代码

class Solution {public:    bool validUtf8(vector
& data) { int n=data.size(); int i=0; if(n==0) return true; int leftbyte=0; while(i
0) { if(t>=128&&t<=191) {leftbyte--;continue;} else return false; } if(t>=0&&t<=127) //1字节验证 { leftbyte=0; }else if(t>=129&&t<=223) //2字节验证 { leftbyte=1; } else if(t>=224&&t<=239)//3字节验证 { leftbyte=2; } else if(t>=240&&t<=247) //4字节验证 { leftbyte=3; }else return false; //非法字节验证 } if(!leftbyte) return true; else return false; }};

 

转载地址:http://riki.baihongyu.com/

你可能感兴趣的文章
mysql查询数据库储存数据的占用容量大小
查看>>
MySQL查询数据库所有表名及其注释
查看>>
MySQL查询数据表中数据记录(包括多表查询)
查看>>
MySQL查询结果排序
查看>>
MYSQL查询语句优化
查看>>
mysql查询语句能否让一个字段不显示出来_天天写order by,你知道Mysql底层执行原理吗?
查看>>
MySQL查询语句:揭秘专家秘籍,让你秒变数据库达人!
查看>>
mysql查询超时对PHP执行的影响
查看>>
mysql查询输出到excel文件_如何保存mysql查询输出到excel或.txt文件?
查看>>
mysql查询过程
查看>>
MySQL模拟Oracle序列sequence
查看>>
Mysql模糊查询like效率,以及更高效的写法
查看>>
MySQL死锁套路:一次诡异的批量插入死锁问题分析
查看>>
Mysql死锁问题Deadlock found when trying to get lock;try restarting transaction
查看>>
mysql每个数据库的最大连接数_MySQL数据库最大连接数
查看>>
Mysql流程控制结构,if函数、case结构、if结构、循环结构
查看>>
mysql添加外网访问权限
查看>>
mysql添加用户
查看>>
MySQL添加用户、删除用户与授权
查看>>
mysql添加用户及权限
查看>>