首页
社区
课程
招聘
[原创]UTF-8编码数据拆分
发表于: 2017-9-25 12:57 2718

[原创]UTF-8编码数据拆分

2017-9-25 12:57
2718
不讨论判断是不是utf-8编码,本身就是utf-8编码,编码规则如下
规则很简单,只是判断第一个字节的前几位,每一位判断也可以,最多只需判断四位,给出另一种方法获取每个字符编码的长度
	public static int getByteCount(byte data) {
		int tmp = ~data & 0xff;
		return 8 - Integer.toBinaryString(tmp).length();
	}

数据取反后,前面的1都变成0,后面的0就变成了1。取反后的第一个1也就是原始数据第一个0的位置,0前面都是1。一个字节8位减去取反后二进制字符长度,就是前面1的个数。


下面是拆分一个字符串的结果


https://bbs.pediy.com/thread-215245.htm
这篇文章之前处理数据是通过判断中文字符utf-8编码范围,如果有特殊字符,处理会失败,改成拆分utf-8编码,数据处理就很完美了。

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 272
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
不错,有用
2017-9-25 16:09
0
雪    币: 2049
活跃值: (2082)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
不错,有用
2017-9-25 21:35
0
游客
登录 | 注册 方可回帖
返回