Java字符串找出4个字节长度的字符
不解释,直接上代码:
由于Iteye代码贴四个字节的UTF-8字符出错,特能图的方式发布几个特殊字符:
- public class Byte4Check {
- public static void main(String args[]) throws UnsupportedEncodingException {
- String nickName = "12葫";
- , 1).getBytes("UTF-8");
- for (byte tt : t) {
- System.out.println(tt);
- }
- System.out.println("====================");
- byte[] t1 = nickName.getBytes("UTF-8");
- ; i < t1.length;) {
- byte tt = t1[i];
- if (CharUtils.isAscii((char) tt)) {
- ];
- ] = tt;
- i++;
- String result = new String(ba);
- System.out.println("1个字节的字符");
- System.out.println("字符为:" + result);
- }
- if ((tt & 0xE0) == 0xC0) {
- ];
- ] = tt;
- ] = t1[i+1];
- i++;
- i++;
- String result = new String(ba);
- System.out.println("2个字节的字符");
- System.out.println("字符为:" + result);
- }
- if ((tt & 0xF0) == 0xE0) {
- ];
- ] = tt;
- ] = t1[i+1];
- ] = t1[i+2];
- i++;
- i++;
- i++;
- String result = new String(ba);
- System.out.println("3个字节的字符");
- System.out.println("字符为:" + result);
- }
- if ((tt & 0xF8) == 0xF0) {
- ];
- ] = tt;
- ] = t1[i+1];
- ] = t1[i+2];
- ] = t1[i+3];
- i++;
- i++;
- i++;
- i++;
- String result = new String(ba);
- System.out.println("4个字节的字符");
- System.out.println("字符为:" + result);
- }
- }
- }
- }
- public class Byte4Check {
- public static void main(String args[]) throws UnsupportedEncodingException {
- String nickName = "12葫";
- , 1).getBytes("UTF-8");
- for (byte tt : t) {
- System.out.println(tt);
- }
- System.out.println("====================");
- byte[] t1 = nickName.getBytes("UTF-8");
- ; i < t1.length;) {
- byte tt = t1[i];
- if (CharUtils.isAscii((char) tt)) {
- ];
- ] = tt;
- i++;
- String result = new String(ba);
- System.out.println("1个字节的字符");
- System.out.println("字符为:" + result);
- }
- if ((tt & 0xE0) == 0xC0) {
- ];
- ] = tt;
- ] = t1[i+1];
- i++;
- i++;
- String result = new String(ba);
- System.out.println("2个字节的字符");
- System.out.println("字符为:" + result);
- }
- if ((tt & 0xF0) == 0xE0) {
- ];
- ] = tt;
- ] = t1[i+1];
- ] = t1[i+2];
- i++;
- i++;
- i++;
- String result = new String(ba);
- System.out.println("3个字节的字符");
- System.out.println("字符为:" + result);
- }
- if ((tt & 0xF8) == 0xF0) {
- ];
- ] = tt;
- ] = t1[i+1];
- ] = t1[i+2];
- ] = t1[i+3];
- i++;
- i++;
- i++;
- i++;
- String result = new String(ba);
- System.out.println("4个字节的字符");
- System.out.println("字符为:" + result);
- }
- }
- }
- }
参考文献:
http://www.yunmx.com/archives/2011/138.htm
http://zh.wikipedia.org/wiki/UTF-8
Java字符串找出4个字节长度的字符的更多相关文章
- js比较两个String字符串找出不同,并将不同处高亮显示
根据java代码改写成js,下边js文件代码: function StringBuffer() { this.__strings__ = []; }; StringBuffer.prototype.a ...
- java字符串转义,把<>转换成<>等字符【原】
java字符串转义,把<>转换成<>等字符 使用的是commons-lang3-3.4 中的StringEscapeUtils类 package test; import ja ...
- 用JAVA实现找出输入字符串中的出现次数最多的字符及其次数;
//通过Map 类实现,通过键值对的方式,可以将输入的字符串的每一个字符,作为键,每个字符出现的次数作为值:如下: public class Find { public static void mai ...
- java语言 找出文章中出现次数最多的单词
package english; import java.io.File; import java.util.Scanner; import java.io.FileNotFoundException ...
- Java/sql找出oracle数据库有空格的列
1.java方式 String table_sql = "select table_name from user_tables";//所有用户表 List<String> ...
- java 的 数字、汉字 和 字母 的所占字节长度 与 字符长度 (邮件限制50个汉字)
public static void main(String[] args) { String a = "餿餿餿餿餿z"; byte[] bytes = a.getBytes( ...
- Java实现找出数组中重复次数最多的元素以及个数
/**数组中元素重复最多的数 * @param array * @author shaobn * @param array */ public static void getMethod_4(int[ ...
- JAVA 练习 找出素数
package com.zhang.hello; public class Task { /** * 1. 输出打印九九乘法表 * */ public void NO1(){ for(int i=1; ...
- OMG,12 个精致的 Java 字符串操作小技巧,学它
字符串可以说是 Java 中最具有代表性的类了,似乎没有之一哈,这就好像直播界的李佳琪,脱口秀中的李诞,一等一的大哥地位.不得不承认,最近吐槽大会刷多了,脑子里全是那些段子,写文章都有点不由自主,真的 ...
随机推荐
- 面向对象程序设计-C++ Default constructor & Copy constructor& Destructor & Operator Overloading【第九次上课笔记】
先上笔记内容吧: 这次上课的内容有关 构造函数 析构函数 运算符重载 return * this 内容很细,大家好好回顾笔记再照应程序复习吧 :) #include <iostream> ...
- CodeForces 189A 166E 【DP ·水】
非常感谢 Potaty 大大的援助使得我最后A出了这两题DP ================================== 189A : 求切分后的ribbon最多的数目,不过要求切分后只能存 ...
- JProtector 帮助文档
一.应用加密 1.使用 JProtector在线 进行应用加密:使用浏览器访问 http://app.shuton.net/encryptjar, 点击 Browse 选择待加密的应用jar包.war ...
- Clojure学习:表达式与函数
Clojure是一门Lisp方言——确切地说,是一门JVM上的Lisp方言——也是一门非纯粹的函数式语言. Clojure理所当然地秉承了Lisp“代码即数据( code is data! )”的设计 ...
- 一步一步重写 CodeIgniter 框架 (6) —— 实现在控制器Controller中加载View
1. 控制器将模型类获得的数据,传递给视图进行显示,所以视图必须负责接收数据,另外重要的一点是当模型和视图分开后,多个模型的数据可以传递给一个视图进行展示,也可以说一个模型的数据在多个不同的视图中进行 ...
- glog另启动线程写文本日志
glog本身是很高效的,google的大牛肯定知道大规模的写日志用glog的话肯定会影响业务线程的处理,带负荷的磁盘IO谁都桑不起.比方levelDB就是默认异步写,更不用说google的三驾马车都是 ...
- 【转】CentOS上安装 jdk:rpm安装和源码安装
1.安装 jdk-8u5-linux-x64.rpm 原文链接:http://www.cnblogs.com/xsi640/p/3756995.html 先下载最新的jdk版本 文件名:jdk-8u5 ...
- Python中打印列表的序号和内容
==>the start 最近作业里要用到遍历打印出列表中的序号和内容,我刚开始用了个很笨的方法来写,后来老师说可以使用enumerate()函数,所以我就特意研究了下. 先看我之前用的笨方法: ...
- 输入输出函数 I/O函数之perror()
perror()函数的函数原型 void perror(char const *message); 它会将message信息输出出来,后面再加上错误原因字符串. 下面是来自百度百科的实例: #incl ...
- 03-IOSCore - XML及解析、Plist
一.XML 可扩展标记语言 是什么?是一段有规范的字符串, 用在哪?用在任何地方 语法: * 结点Node <结点名 属性名="属性值"> 结点内容 </结点名& ...