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

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

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

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

Java字符串找出4个字节长度的字符相关推荐

  1. js比较两个String字符串找出不同,并将不同处高亮显示

    根据java代码改写成js,下边js文件代码: function StringBuffer() {this.__strings__ = []; }; StringBuffer.prototype.ap ...

  2. 输入一个字符串,用子函数完成在字符串中找出ACSII码值最大的字符,将其放在第一个位置,并将该字符前的所有字符向后顺序移动

    <程序设计基础实训指导教程-c语言> ISBN 978-7-03-032846-5 p143 7.1.2 上级实训内容 [实训内容9]输入一个字符串,用子函数完成在字符串中找出ACSII码 ...

  3. python编写函数、给定任意字符串_编写函数,给定任意字符串,找出其中只出现一次的字符,如果有多个这样的字符,就全部找出。...

    [简答题]编写程序,实现分段函数计算,如下表所示. x y x<0 0 0<=x<5 x 5<=x<10 3x-5 10<=x<20 0.5x-2 20< ...

  4. Java:找出100以内的质数(一)。

    Java:找出1~100之间的质数. 质数(prime number)又称素数,有无限个.质数定义为在大于1的自然数中,除了1和它本身以外不再有其他因数. 由以上的定义我们可以延伸出另一种解释:这个数 ...

  5. java 找出所有水仙花数,java兑现找出所有的水仙花数

    java实现找出所有的水仙花数. 水仙花数是指一个 n 位数 ( n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身.(例如:1^3 + 5^3 + 3^3 = 153) 在没有考虑效率的情况下 ...

  6. php找出字符串不同地方,PHP中比较两个字符串找出第一个不同字符位置例子

    PHP中比较两个字符串找出第一个不同字符位置例子 一般的做法就会这样: 复制代码 代码如下: for ($offset = 0; $offset < $length; ++$offset) { ...

  7. java基础—找出两个字符串中最大的子串

    // 找一个字符串的最大子串public static void main(String[] args) {String s1 = "qwerabcdtyuiop";String ...

  8. java正则 找出数字,Java顶用正则表达式找出数字

    Java中用正则表达式找出数字 Java中用正则表达式找出数字 1.题目 String str = "fjd789klsd908434jk#$$%%^38488545",从中找出7 ...

  9. java正则 找出数字_Java使用正则表达式实现找出数字功能示例

    本文实例讲述了Java使用正则表达式实现找出数字功能.分享给大家供大家参考,具体如下: 1.问题: String str = "fjd789klsd908434jk#$$%%^3848854 ...

最新文章

  1. IE安全系列:脚本先锋(4)
  2. linux下OpenSSL的RSA密钥生成
  3. mysql 高级语法,SQL 语法高级
  4. 用ASP.NET 重绘TabControl代码
  5. 靓仔落泪,性能问题定位难倒我了
  6. 继承/作⽤域/作⽤域链
  7. 做人做事,就两个字!
  8. ESX的VSWITCH坏了,如何转移到新建的虚拟交换机上?
  9. shell awk学习3
  10. SAP常用TCODE
  11. 将jar文件安装为系统服务
  12. matlab 切点投资组合 程序,MATLAB证券投资组合分析
  13. 智齿客服网页端接入文档V2.3
  14. RABBIT API (随机ACG图片接口推荐)
  15. Intel VMD技术和SPDK VMD驱动模块介绍及使用
  16. [Python中pandas实现独热编码][pd.get_dummies()函数]
  17. bWAPP解题笔记——A7-Missing Functional Level Access Control
  18. leetcode 546. 移除盒子 —— 动态规划
  19. 近两年国内外主流物联网操作系统简介
  20. table表格头出现表头错乱

热门文章

  1. 安装linux前分区,安装Linux系统前的准备之磁盘分区
  2. queue double java_一文弄懂java中的Queue家族
  3. HTML+CSS+JS实现 ❤️520爱心背景表白网页动画特效❤️
  4. linux 内核入口地址,linux内核的加载地址和入口地址
  5. matlab建立的发动机的模型,奇瑞使用基于模型的设计实现发动机管理系统软件的自主开发...
  6. owncloud8 php,owncloud-8.2.3
  7. Spring boot 项目目录结构详解
  8. 求一个任意实数c的算术平方根g的算法设计思想_算法复习第四篇——贪心法
  9. c语言10个数求立方合并输出,C语言 求出100~999之间的所有“水仙花数”并输出...
  10. kafka是存储到本地磁盘么_Kafka 中的消息存储在磁盘上的目录布局是怎样的?