• 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

  • 相关阅读:
    Silverlight C# 游戏开发:Flyer05与什么什么进行搏斗
    Silverlight C# 游戏开发:Flyer07做一个有开始的游戏
    Silverlight C# 游戏开发:面向对象在游戏中的实例(一)
    Silverlight C# 游戏开发:面向对象在游戏中的实例(二)
    Silverlight C# 游戏开发:Flyer06小小的改进让游戏更有趣
    linux网络命令ip\route\links回顾
    Google Style的C++编码规范
    TCP/IP协议和IP组播的视频传输
    Multicast server and client in Python
    用户profile中umask码的含义详解(默认是022)
  • 原文地址:https://www.cnblogs.com/duyinqiang/p/5696520.html
Copyright © 2020-2023  润新知