Java字符串找出4个字节长度的字符

不解释,直接上代码: 
由于Iteye代码贴四个字节的UTF-8字符出错,特能图的方式发布几个特殊字符: 



Java代码  收藏代码
  1. public class Byte4Check {  
  2.   
  3.     public static void main(String args[]) throws UnsupportedEncodingException {  
  4.         String nickName = "12葫";  
  5.   
  6.         byte[] t = nickName.substring(01).getBytes("UTF-8");  
  7.         for (byte tt : t) {  
  8.             System.out.println(tt);  
  9.         }  
  10.         System.out.println("====================");  
  11.         byte[] t1 = nickName.getBytes("UTF-8");  
  12.         for (int i = 0; i < t1.length;) {  
  13.             byte tt = t1[i];  
  14.             if (CharUtils.isAscii((char) tt)) {  
  15.                 byte[] ba = new byte[1];  
  16.                 ba[0] = tt;  
  17.                 i++;  
  18.                 String result = new String(ba);  
  19.                 System.out.println("1个字节的字符");  
  20.                 System.out.println("字符为:" + result);  
  21.             }  
  22.             if ((tt & 0xE0) == 0xC0) {  
  23.                 byte[] ba = new byte[2];  
  24.                 ba[0] = tt;  
  25.                 ba[1] = t1[i+1];  
  26.                 i++;  
  27.                 i++;  
  28.                 String result = new String(ba);  
  29.                 System.out.println("2个字节的字符");  
  30.                 System.out.println("字符为:" + result);  
  31.             }  
  32.             if ((tt & 0xF0) == 0xE0) {  
  33.                 byte[] ba = new byte[3];  
  34.                 ba[0] = tt;  
  35.                 ba[1] = t1[i+1];  
  36.                 ba[2] = t1[i+2];  
  37.                 i++;  
  38.                 i++;  
  39.                 i++;  
  40.                 String result = new String(ba);  
  41.                 System.out.println("3个字节的字符");  
  42.                 System.out.println("字符为:" + result);  
  43.             }  
  44.             if ((tt & 0xF8) == 0xF0) {  
  45.                 byte[] ba = new byte[4];  
  46.                 ba[0] = tt;  
  47.                 ba[1] = t1[i+1];  
  48.                 ba[2] = t1[i+2];  
  49.                 ba[3] = t1[i+3];  
  50.                 i++;  
  51.                 i++;  
  52.                 i++;  
  53.                 i++;  
  54.                 String result = new String(ba);  
  55.                 System.out.println("4个字节的字符");  
  56.                 System.out.println("字符为:" + result);  
  57.             }  
  58.         }  
  59.     }  
  60. }  



参考文献: 
http://www.yunmx.com/archives/2011/138.htm 
http://zh.wikipedia.org/wiki/UTF-8

转载于:https://www.cnblogs.com/duyinqiang/p/5696519.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/574322.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

div 左右并排,使用CSS如何让两个div并排显示

用CSS如何让两个DIV盒子并排体现呢&#xff1f;各人知道默认情况下DIV是独占一排的&#xff0c;DIV不设置任何CSS格局&#xff0c;这个DIV盒子都邑独有一行踊跃换行。运用CSS让两个DIV并排闪现&#xff0c;排成一排显示思空见贯方式有两种&#xff1a;1、运用display:inline2、…

JStorm-介绍

1.概述 JStorm 是一个类似于 Hadoop 的MapReduce的计算系统&#xff0c;它是由Alibaba开源的实时计算模型&#xff0c;它使用Java重写了原生的Storm模型&#xff08;Clojure和Java混合编写的&#xff09;&#xff0c;并且再原来的基础上做了许多改进。用户只需按照指定的接口实…

又一个绝对棒的对话框插件fancybox v1.3.4

http://www.jsfoot.com/jquery/demo/2011-07-30/fancybox/index.html jquery插件&#xff1a;fancybox Fancybox的特点如下&#xff1a; 可以支持图片、html文本、flash动画、iframe以及ajax的支持可以自定义播放器的CSS样式可以以组的形式进行播放如果将鼠标滚动插件&#xff…

php this validate,php扩展ZF——Validate扩展

php扩展ZF——Validate扩展更新时间&#xff1a;2008年01月10日 20:27:49 作者&#xff1a;php扩展ZF——Validate扩展之前写了一片文章关于如何在ZF0.6版本下扩展ZF的。这篇应该说是类似的文章&#xff0c;但环境换成ZF1.0RC1版本了。在开始ZF扩展之前&#xff0c;推荐先看看…

浅谈数据结构-选择排序(简单、堆排序)

选择排序&#xff1a;每趟从待排序的记录中选出关键字最小的记录&#xff0c;顺序放在已排序的记录序列末尾&#xff0c;直到全部排序结束为止。 选择排序正如定义所讲&#xff0c;在数组查询出最小值&#xff0c;然后放在此次循环开始位置&#xff08;前一次循环已经获取比它更…

安装php7的mysql扩展,php7安装mysql扩展的方法是什么

php7安装mysql扩展的方法&#xff1a;1、下载mysql扩展并解压&#xff1b;2、使用phpize工具初始化并进行configure&#xff1b;3、执行【make && make install】命令&#xff1b;4、编辑php.ini文件&#xff1b;5、重启服务。本文环境&#xff1a;windows10系统、php7…

iPhone屏幕尺寸、分辨率及适配

目录(?)[-] iPhone尺寸规格单位inch英吋iPhone手机宽高屏幕尺寸像素密度PPI缩放因子scale factor between logic point and device pixel1Scale起源 2UIScreenscale 3UIScreennativeScale 4机型判别Resolutions Rendering2x3x以及高倍图适配12x 23x 3高倍图文件…

鼠标移动响应php程序,jQuery实现的响应鼠标移动方向插件用法示例【附源码下载】...

本文实例讲述了jQuery实现的响应鼠标移动方向插件用法。分享给大家供大家参考&#xff0c;具体如下&#xff1a;HTML代码如下&#xff1a;www.jb51.net jQuery响应鼠标移动*{margin:0;padding:0;}ul,li{list-style:none;}div{font-family:"Microsoft YaHei";}html,bo…

jitpack让使用第三方依赖库更简单

在开发过程中&#xff0c;使用第三方优秀依赖库是个很常见的问题&#xff0c;有的时候是maven&#xff0c;或者gradle, 或者sbt,大部分库工程&#xff0c;都会有对应的gradle,maven依赖代码&#xff0c;但是有的没有&#xff0c;尤其是使用的snapshot的依赖的时候&#xff0c;虽…

Swift - 发送消息(文本,图片,文件等)给微信好友或分享到朋友圈

通过调用微信提供的API接口&#xff0c;我们可以很方便的在应用中发送消息给微信好友&#xff0c;或者分享到朋友圈。在微信开发平台&#xff08;https://open.weixin.qq.com&#xff09;里&#xff0c;提供了详细的说明文档和样例。但由于提供的样例是使用Objective-C写的&…

linux怎么改程序图标,如何在Ubuntu Unity上修改应用程序图标

这篇文章将教大家在Ubuntu Unity上修改应用程序图标&#xff0c;这个教程适合于Ubuntu 14.04, Ubuntu 13.10, Ubuntu 12.04 等使用Unity作为默认桌面环境的发行版。在Unity桌面环境&#xff0c;程序启动器实际上以.desktop为后缀的文件的形式存储在电脑上&#xff0c;所以我们可…

htop linux命令详解,htop使用详解

在管理进程时通常要借助一些工具&#xff0c;比较常用的就是ps和top了&#xff1b;不过CentOS还为我们提供了一个更加强大的工具htop&#xff0c;下面就来了解一下此工具的使用方法。一、安装htophtop工具在epel源中提供&#xff0c;请自行配置epel源&#xff0c;也可以直接下载…

Android Termux安装SSH结合内网穿透实现远程SFTP文件传输

文章目录 1. 安装openSSH2. 安装cpolar3. 远程SFTP连接配置4. 远程SFTP访问4. 配置固定远程连接地址 SFTP&#xff08;SSH File Transfer Protocol&#xff09;是一种基于SSH&#xff08;Secure Shell&#xff09;安全协议的文件传输协议。与FTP协议相比&#xff0c;SFTP使用了…

linux解压war包乱码,linux中zip解压乱码解决方法

在windows上压缩的文件&#xff0c;是以系统默认编码中文来压缩文件。由于zip文件中没有声明其编码&#xff0c;所以linux上的unzip一般以默认编码解压&#xff0c;中文文件名会出现乱码。有2种方式解决问题&#xff1a;1、通过unzip行命令解压&#xff0c;指定字符集unzip -O …

Android沉浸式通知栏设计

转载博客&#xff1a;http://www.2cto.com/kf/201503/381348.html Android4.4新特性&#xff0c;系统状态栏一体化。 实现的步骤主要有以下几点&#xff1a; 1.android4.4 以上版本 2.设置app全屏&#xff1a; 方法&#xff1a;在AndroidManifest.xml中设置android:theme"…

linux火狐自动更新,CentOS 7手动更新firefox | Linux系统运维联盟

这里针对的是firefox无法检测到新版本&#xff0c;需要手动升级。1.下载新版的irefox&#xff0c;一般是.tar.gz压缩包。2.tar zxvf 解压到/usr/lib64 。(只要是原版firefox文件的目录就对了)3.cd /usr/lib64/firefox4../firefox-bin 完成有的更新好之后可能会无法播放视频&a…

Servlet的学习之Request请求对象(2)

在上一篇《Servlet的学习(十)》中介绍了HttpServletRequest请求对象的一些常用方法&#xff0c;而从这篇起开始介绍和学习HttpServletRequest的常用功能。 使用HttpServletRequest可以防止盗链行为&#xff0c;什么是盗链行为&#xff0c;比如说在一个别的网站上超链接&#xf…

如何提高linux的时钟精度,Linux时钟精度提高有什么办法?

2 动态高精度时钟设计和实现动态高精度时钟设计方案借鉴了KURT-Linux思想&#xff0c;但与其不同的是提供一个与标准Linux核心时钟并行的具有精密刻度的实时时钟&#xff0c;并与原核心时钟区别开。采用X86体系CPU提供的TSC作为高精度的时间标度&#xff0c;权衡一定时间段(如一…

Java基础知识强化之网络编程笔记05:UDP之多线程实现聊天室案例

1. 通过多线程改进刚才的聊天程序&#xff0c;这样我就可以实现在一个窗口发送和接收数据了 2. 代码示例&#xff1a; &#xff08;1&#xff09;SendThread.java&#xff0c;如下&#xff1a; 1 package com.himi.udpDemo2;2 3 import java.io.BufferedReader;4 import java.…

c语言选择法排序案例,谁能给我一个c语言选择排序法的简单例子

满意答案evil83752014.02.27采纳率&#xff1a;51% 等级&#xff1a;11已帮助&#xff1a;7590人#include int main(){int array[100], n, c, d, position, swap;printf("Enter number of elements\n");scanf("%d", &n);printf("Enter %d inte…