不解释,直接上代码:
由于Iteye代码贴四个字节的UTF-8字符出错,特能图的方式发布几个特殊字符:
public class Byte4Check {
public static void main(String args[]) throws UnsupportedEncodingException {
String nickName = "12葫";
byte[] t = nickName.substring(0, 1).getBytes("UTF-8");
for (byte tt : t) {
System.out.println(tt);
}
System.out.println("====================");
byte[] t1 = nickName.getBytes("UTF-8");
for (int i = 0; i < t1.length;) {
byte tt = t1[i];
if (CharUtils.isAscii((char) tt)) {
byte[] ba = new byte[1];
ba[0] = tt;
i++;
String result = new String(ba);
System.out.println("1个字节的字符");
System.out.println("字符为:" + result);
}
if ((tt & 0xE0) == 0xC0) {
byte[] ba = new byte[2];
ba[0] = tt;
ba[1] = t1[i+1];
i++;
i++;
String result = new String(ba);
System.out.println("2个字节的字符");
System.out.println("字符为:" + result);
}
if ((tt & 0xF0) == 0xE0) {
byte[] ba = new byte[3];
ba[0] = tt;
ba[1] = t1[i+1];
ba[2] = t1[i+2];
i++;
i++;
i++;
String result = new String(ba);
System.out.println("3个字节的字符");
System.out.println("字符为:" + result);
}
if ((tt & 0xF8) == 0xF0) {
byte[] ba = new byte[4];
ba[0] = tt;
ba[1] = t1[i+1];
ba[2] = t1[i+2];
ba[3] = 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
- 大小: 6.6 KB
分享到:
相关推荐
最长子字符串,无重复字符,Java实现 给定字符串s,找到最长子字符串的长度而不重复字符。 示例1:输入:s =“ abcabcbb”输出:3说明:答案为“ abc”,长度为3。 示例2:输入:s =“ bbbbb”输出:1说明:答案为...
给定一个字符串,找出没有重复字符的最长子字符串的长度。 示例 1: Input: "abcabcbb" Output: 3 Explanation: The answer is "abc", with the length of 3. 示例 2: Input: "bbbbb" Output: 1 Explanation: The ...
找出最大长度子字符串,打印并且返回长度。 例如 str = "abc123abcd234abcdefgha324adsdawqdasdaseqqwe345abchded",看下面的代码实现吧
字符串采用unicode编码的方式时,计算字符串长度的方法找出UNICODE编码中的汉字的代表的范围“u4E00” 到“u9FBB”之间感兴趣的朋友可以参考本文,或许对你有所帮助
给你两个字符串,请你从这两个字符串中找出最长的特殊序列。 最长特殊序列 定义如下:该序列为某字符串独有的最长子序列(即不能是其他字符串的子序列) 子序列 可以通过删去字符串中的某些字符实现,但不能改变剩余...
使用Lambda表达式查找指定字符,(input parameters)=>expression
给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。 示例 1: 输入: s = "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。 示例 2: 输入: s = "bbbbb" 输出: 1 解释: ...
实例42 字符串索引越界异常(StringIndexOutBounds) 60 实例43 操作错误(UnsupportedOperationException) 60 4.2 运行时异常 61 实例44 找不到指定类时发生的异常(ClassNotFoundException) 62 ...
实例42 字符串索引越界异常(StringIndexOutBounds) 60 实例43 操作错误(UnsupportedOperationException) 60 4.2 运行时异常 61 实例44 找不到指定类时发生的异常(ClassNotFoundException) 62 实例45 请求的...
实例42 字符串索引越界异常(StringIndexOutBounds) 60 实例43 操作错误(UnsupportedOperationException) 60 4.2 运行时异常 61 实例44 找不到指定类时发生的异常(ClassNotFoundException) 62 ...
写一个方法,实现字符串的反转,如:输入abc,输出cba 写一个方法,实现字符串的替换,如:输入bbbwlirbbb,输出bbbhhtccc。 3.数据类型之间的转换 如何将数值型字符转换为数字(Integer,Double) 如何将数字...
这两个步骤主要的操作有两个,一个是从一个数组中找出另一个数组的位置,类似于 String 类中的 indexOf 的功能,另一个是从一个数组中提取出另一个数组, 类似于 String 类中的 substring 的功能,为此我们可以专门...
给定字符串列表,你需要从它们中找出最长的特殊序列。最长特殊序列定义如下:该序列为某字符串独有的最长子序列(即不能是其他字符串的子序列)。 子序列可以通过删去字符串中的某些字符实现,但不能改变剩余字符的...
实例42 字符串索引越界异常(StringIndexOutBounds) 60 实例43 操作错误(UnsupportedOperationException) 60 4.2 运行时异常 61 实例44 找不到指定类时发生的异常(ClassNotFoundException) 62 实例45 请求的...
实例42 字符串索引越界异常(StringIndexOutBounds) 60 实例43 操作错误(UnsupportedOperationException) 60 4.2 运行时异常 61 实例44 找不到指定类时发生的异常(ClassNotFoundException) 62 实例45 请求...
LeetCode判断字符串是否循环 面试必刷《剑指Offer》-- 上 总所周知,不论你是面试Java/C++/C...的岗位,算法是鉴定一个人基础的重要指标,良好的算法基础也是你能通过笔试的必要条件。剑指Offer是众多企业历年招聘的...
主要介绍了Java比较两个List的值是否相等的方法,涉及java针对队列比较的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
编程 找出1000以内的所有完数。 【程序10】 题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在 第10次落地时,共经过多少米?第10次反弹多高? 【程序11】 题目:有1、2、3、4个...
JAVA平台提供了两个类:String和StringBuffer,它们可以储存和操作字符串,即包含多个字符的字符数据。这个String类提供了数值不可改变的字符串。而这个StringBuffer类提供的字符串进行修改。当你知道字符数据要改变...
/\d{3}|[a-z]{4}/ 匹配的是要么是一个三位数,要么是四个小写字母.在正则表达式中括号具有几种作用.它的主要作用是把单独的项目分组 成子表达式,以便可以像处理一个独立的单元那种用 *、+或? 来处理那些项目.例如:...