不解释,直接上代码:
由于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字符串、正则表达式以及日期时间格式化的理解。 总之,理解和熟练掌握Java中的字符串操作、正则表达式以及日期时间格式化对于任何Java开发者来说都是必不可少的技能。通过...
总结来说,解决"java求字符串的正向反向最大公共字符串"这个问题,我们可以采用动态规划方法,通过对字符串的遍历和比较,找出并返回最长的公共子串。这种技术在处理字符串匹配、编辑距离等问题时非常常见,有助于...
标题 "比较字符串1" 描述的是一个算法训练问题,旨在比较两个字符串的字典序,并在它们不相等时找出第一个不同的字符。这个问题涉及到的主要知识点包括字符串操作、字典序比较以及基本的ASCII码理解。 首先,我们...
首先,我们要明确问题的目标:给定一个字符串,找出其中出现频率最高的字符。这个问题可以通过多种方法解决,例如使用哈希表(HashMap在Java中)或者数组来统计每个字符出现的次数,然后找出出现次数最多的那个。接...
这是Java字符串安全和高效的基础。 1. **创建字符串**:你可以通过`new`关键字创建一个字符串,如`String str = new String("Hello, World!");`,或者直接用双引号创建,如`String str = "Java编程";`。 2. **子串...
- **拼写检查**:在文本编辑器或搜索引擎中,通过字符串对比找出可能的拼写错误并提供纠正建议。 - **文本相似性检测**:在信息检索、文本分类、抄袭检测等领域,计算两篇文档的相似度是关键步骤。 - **密码匹配*...
在Java编程中,实现字符串匹配并寻找两个字符串的最大公共子串是一项常见的任务,尤其是在文本处理、数据比较和信息检索等领域。本示例介绍了一种基于二维数组(也称为动态规划矩阵)的算法来解决这个问题。 最大...
在这个问题中,我们需要找出字符串中长度为偶数的单词。这可以通过两种方法实现:一种是直接使用字符串操作,另一种是使用动态规划。 首先,让我们详细解释第一种方法,即直接使用字符串操作。这个方法的核心是利用...
- **目标**:找出这两个字符串的最长公共子串。 #### 2. 算法步骤 该算法的核心思想是通过双重循环遍历两个字符串,逐个字符进行比较,以找到最长的匹配子串。 - **初始化**:首先设置两个指针`flag1`和`flag2`,...
实验内容1要求我们计算字符串"www.google.com"的长度,并找出字符'o'和'g'的数量,同时截取"google"子字符串进行显示。在Java中,我们可以使用`String`类的方法来实现这些功能。`length()`方法用于获取字符串的长度...
目标是找出这两个字符串中的最长相同子串。 #### 解决方案分析 ##### 方法概述 为了找到两个字符串中最长的相同子串,程序采用了以下步骤: 1. **初始化变量**:定义了一个计数器 `count` 用于记录所有相同子串的...
在JavaScript中,有时候我们需要比较两个字符串的差异,找出它们之间的不同字符。正则表达式(Regular Expression)是一种强大的文本处理工具,可以有效地帮助我们完成这项任务。本文将详细介绍如何使用正则表达式来...
在Java编程语言中,编写一个程序来找出字符串中的特定信息是一项常见的任务。这可能涉及到字符串操作,如查找子串、计数、替换或者提取特定模式。以下是一些关键的知识点,将帮助你理解和实现这样的程序。 1. **...
4. 对于每个子串长度,生成所有可能的子串,并在较长的字符串中查找是否匹配。 5. 如果找到一个匹配的子串,返回其长度,表示找到了最长公共子串。 6. 如果没有找到匹配的子串,返回0表示没有公共子串。 华为OJ平台...
总的来说,这个"DEMO"项目是关于字符串处理的一个实例,对于学习和理解Java中字符串操作以及字符串查找算法具有一定的实践价值。通过这个示例,开发者可以学习如何在实际编程中解决此类问题,提高对字符串操作的掌握...
例如,可以编写函数找出字符串中最长的单词。 3. **字符串拼接**:在不同编程语言中,字符串拼接有不同的方式,例如C++中的字符串流,Java中的+操作符,Python中的+或join()方法。 4. **字符串查找与替换**:实现...
` 创建一个初始长度等于原字符串长度的`StringBuffer`对象,用于存储转换后的字符串。 - `for (int i = 0; i (); i++)` 遍历原字符串中的每个字符。 - `if (str.charAt(i) == upStr.charAt(i))` 判断原字符串中的...
在Java编程语言中,找出字符串中的大写字母并打印输出是一项常见的任务,这涉及到字符集、字符串操作以及循环结构等基础知识。以下是一个详细的解释和示例代码。 首先,我们需要了解Java中的字符集,即Unicode。...
哈希算法的基本思想是,输入一个字符串,通过一定的计算规则(哈希函数),将其转换为一个固定长度的数字。这个过程通常称为“散列”或“哈希”。理想的哈希函数应具备以下特性: 1. **均匀性**:不同的字符串映射...