博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
过滤3个字节以上的utf-8字符
阅读量:5929 次
发布时间:2019-06-19

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

/**     * 过滤掉超过3个字节的UTF8字符     * @param text     * @return     * @throws UnsupportedEncodingException     */    public static String filterOffUtf8Mb4(String text) throws UnsupportedEncodingException {        byte[] bytes = text.getBytes("utf-8");        ByteBuffer buffer = ByteBuffer.allocate(bytes.length);        int i = 0;        while (i < bytes.length) {            short b = bytes[i];            if (b > 0) {                buffer.put(bytes[i++]);                continue;            }            b += 256; // 去掉符号位            if (((b >> 5) ^ 0x6) == 0) {                buffer.put(bytes, i, 2);                i += 2;            } else if (((b >> 4) ^ 0xE) == 0) {                buffer.put(bytes, i, 3);                i += 3;            } else if (((b >> 3) ^ 0x1E) == 0) {                i += 4;            } else if (((b >> 2) ^ 0x3E) == 0) {                i += 5;            } else if (((b >> 1) ^ 0x7E) == 0) {                i += 6;            } else {                buffer.put(bytes[i++]);            }        }        buffer.flip();        return new String(buffer.array(), "utf-8");    }

 

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

你可能感兴趣的文章
JS敏感信息泄露:不容忽视的WEB漏洞
查看>>
让我们荡起双桨,Android 小船波浪动画
查看>>
ApacheCN 翻译活动进度公告 2019.2.18
查看>>
分布式memcached服务器代理magent安装配置(CentOS6.6)
查看>>
Create Volume 操作(Part III) - 每天5分钟玩转 OpenStack(52)
查看>>
物联网的广泛应用将扭转发展中经济体的局面 为全球发展带来新机遇
查看>>
Polar码引发舆论狂欢 5G标准远未定局
查看>>
IntersectionObserver + Custom Elements 实现图片懒加载(滚动加载)/点击重试
查看>>
KSImageNamed-Xcode-master
查看>>
memcache
查看>>
Struts2参数知识点
查看>>
tomcat 8.0虚拟机配置文档
查看>>
轻松实现基于Heartbeat的高可用web服务集群
查看>>
分析y一款APP
查看>>
我的 ubuntu14.04.3 LTS
查看>>
mac 安装office
查看>>
学习bufio、fmt
查看>>
nginx 设置301重定向
查看>>
mycat 数据迁移测试
查看>>
SSDCRM用户体验版定期发布地址公布
查看>>