不解释,直接上代码: 

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



  1. public class Byte4Check {
  2. public static void main(String args[]) throws UnsupportedEncodingException {
  3. String nickName = "12葫";
  4. , 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. ; i < t1.length;) {
  11. byte tt = t1[i];
  12. if (CharUtils.isAscii((char) tt)) {
  13. ];
  14. ] = 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. ];
  22. ] = tt;
  23. ] = 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. ];
  32. ] = tt;
  33. ] = t1[i+1];
  34. ] = 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. ];
  44. ] = tt;
  45. ] = t1[i+1];
  46. ] = t1[i+2];
  47. ] = 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

Java字符串找出4个字节长度的字符的更多相关文章

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

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

  2. java字符串转义,把&lt;&gt;转换成<>等字符【原】

    java字符串转义,把<>转换成<>等字符 使用的是commons-lang3-3.4 中的StringEscapeUtils类 package test; import ja ...

  3. 用JAVA实现找出输入字符串中的出现次数最多的字符及其次数;

    //通过Map 类实现,通过键值对的方式,可以将输入的字符串的每一个字符,作为键,每个字符出现的次数作为值:如下: public class Find { public static void mai ...

  4. java语言 找出文章中出现次数最多的单词

    package english; import java.io.File; import java.util.Scanner; import java.io.FileNotFoundException ...

  5. Java/sql找出oracle数据库有空格的列

    1.java方式 String table_sql = "select table_name from user_tables";//所有用户表 List<String> ...

  6. java 的 数字、汉字 和 字母 的所占字节长度 与 字符长度 (邮件限制50个汉字)

    public static void main(String[] args) {  String a = "餿餿餿餿餿z";  byte[] bytes = a.getBytes( ...

  7. Java实现找出数组中重复次数最多的元素以及个数

    /**数组中元素重复最多的数 * @param array * @author shaobn * @param array */ public static void getMethod_4(int[ ...

  8. JAVA 练习 找出素数

    package com.zhang.hello; public class Task { /** * 1. 输出打印九九乘法表 * */ public void NO1(){ for(int i=1; ...

  9. OMG,12 个精致的 Java 字符串操作小技巧,学它

    字符串可以说是 Java 中最具有代表性的类了,似乎没有之一哈,这就好像直播界的李佳琪,脱口秀中的李诞,一等一的大哥地位.不得不承认,最近吐槽大会刷多了,脑子里全是那些段子,写文章都有点不由自主,真的 ...

随机推荐

  1. 2014 HDU多校弟五场J题 【矩阵乘积】

    题意很简单,就是两个大矩阵相乘,然后求乘积. 用 Strassen算法 的话,当N的规模达到100左右就会StackOverFlow了 况且输入的数据范围可达到800,如果变量还不用全局变量的话连内存 ...

  2. 在线QQ客服

    代码一: <a target="_blank" href="http://wpa.qq.com/msgrd?v=3&uin=451314789&si ...

  3. Delphi资源大全

    A curated list of awesome Delphi frameworks, libraries, resources, and shiny things. Inspired by awe ...

  4. 多玩YY聊天记录解析全过程

    再来一发,现在开始! 下载安装YY,观察YY目录,很明显的发现了sqlite3.dll,这个数据库很多很多很多软件都在用,简单小巧且开源.删除sqlite3.dll 进入YY,历史记录不能正常显示,基 ...

  5. FreePascal的VMT与Delphi不一致,没有负方向

    因为不需要与C++兼容嘛:http://www.freepascal.org/docs-html/prog/progsu168.html 如果要想取得它真正的VMT,可以Pointer强行转换+100 ...

  6. 为什么要用BASE64

    BASE64和其他相似的编码算法通常用于转换二进制数据为文本数据,其目的是为了简化存储或传输.更具体地说,BASE64算法主要用于转换二进 制数据为ASCII字符串格式.Java语言提供了一个非常好的 ...

  7. C++ pair 使用方法

    类模板:template <class T1, class T2> struct pair 參数:T1是第一个值的数据类型,T2是第二个值的数据类型. 功能:pair将一对值组合成一个值, ...

  8. typedef 总结

    其实在正儿八经学C语言的时候typedef用的不是很多,记得书上对它的介绍只是一笔带过.的确它的用法是很简单,但这不代表在使用的过程中不会出错,今天来个彻底的总结. 作用:用来建立新的数据类型名.(注 ...

  9. 【转】增强 scite 编辑器的代码提示功能

    在 windows 下写 Lua, 我能找到的最好的编辑器就是 luaForWindows 项目里带的 scite. npp (即 notepad++ ) 也将就着能用, 不过只有代码高亮和简单的单词 ...

  10. 教你在mac上配置adb环境变量

    1.打开终端,一次输入如下命令 cd ~ touch .bash_profile open -e .bash_profile 2.这时候会在TextEdit中打开一个空白文档,输入下面的语句 a. 输 ...