1.在java中,一个char是2个字节(byte),而一个中文汉字是一个字符,也是2个字节。而英文字母都是一个字节,因此它也能保存在一个byte中,一个汉字却不能。(char:16,byte:8)。
2.char类型
public class ChineseTest1 {
public static void main(String[] args) {
char a='中';
char b='国';
byte c='a';
byte d='b';
char e='e';
char f='f';
String w="a";
System.out.println(a);
System.out.println(a+b);
System.out.println(w+a);
System.out.println(a+c);
System.out.println("欢迎来到"+a+b);
System.out.println();
/*System.out.println("fewg"+a+b);
System.out.println(a+e);
System.out.println(c+"fewf");*/
}
}
运行结果:
中
42282
a中
20110
欢迎来到中国
结论: (1)当char类型单独、“+”字符串输出时,如果char中的值为中文,则输出中文。
(2)当char类型用“+”连接char类型或byte类型输出时,则输出ASCII码值,然后相加。
3.byte类型
public class ChineseTest1 {
public static void main(String[] args) {
char a='中';
byte c='a';
byte d='b';
System.out.println(c);
System.out.println(a+c);
System.out.println(c+d);
System.out.println(c+"fewf");
}
}
运行结果:
97
20110
195
97fewf
结论:也就是说,不管byte是单独输出,还是和char,String类型一起输出,byte类型都是输出ASCII码值.
4.反转字符串
public class StringReverse {
public static void main(String[] args) {
String str = "A quick brown fox jumps over the lazy dog.";
StringBuffer s = new StringBuffer(str);
s = s.reverse();
System.out.println(s);
}
}
运行结果:
.god yzal eht revo spmuj xof nworb kciuq A
5.字符编码
(1)JAVA所采用的编码方案是UTF-16BE。
public class EncodeTest {
public static void main(String[] args) {
String s="str中国";
try {
String a=new String(s.getBytes(),"UTF-8");//转化为utf-8字符
int c=s.getBytes("GBK").length;//转化为utf-8字符后的字节数
System.out.println(c);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
}
}
运行结果:
7
6.判断是否为汉字
public class EncodeTest2 {
public static void main(String[] args) {
String s="str中国";
System.out.println(s.charAt(0));
System.out.println(s.charAt(1));
System.out.println(s.charAt(2));
System.out.println(s.charAt(3));
System.out.println(s.charAt(4));
byte[] k=s.getBytes();
byte[] b=new byte[5];
System.out.println(k.length+"个字节");
for(int i=0;i<k.length;i++){
System.out.println("第"+(i+1)+"个字节的值是"+k[i]);
}
System.arraycopy(k, 0, b, 0, 4);//截取4个字符
System.out.println(new String(b));
}
}
7.
public class EncodeTest2 {
public static void main(String[] args) {
String s="str中国";
System.out.println(s.charAt(0));
System.out.println(s.charAt(1));
System.out.println(s.charAt(2));
System.out.println(s.charAt(3));
System.out.println(s.charAt(4));
byte[] k=s.getBytes();
byte[] b=new byte[5];
System.out.println(k.length+"个字节");
for(int i=0;i<k.length;i++){
System.out.println("第"+i+"个字节的值是"+k[i]);
}
System.arraycopy(k, 0, b, 0, 4);//截取4个字符
System.out.println(new String(b));
}
}
运行结果:
s
t
r
中
国
7个字节
第1个字节的值是115
第2个字节的值是116
第3个字节的值是114
第4个字节的值是-42
第5个字节的值是-48
第6个字节的值是-71
第7个字节的值是-6
str?
分享到:
相关推荐
基于Keil实现字符串函数string.h的简单应用基于Keil实现字符串函数string.h的简单应用基于Keil实现字符串函数string.h的简单应用基于Keil实现字符串函数string.h的简单应用基于Keil实现字符串函数string.h的简单应用...
305-字符串函数string.h应用举例(51单片机C语言实例Proteus仿真和代码)305-字符串函数string.h应用举例(51单片机C语言实例Proteus仿真和代码)305-字符串函数string.h应用举例(51单片机C语言实例Proteus仿真和代码)...
在C++编程中,`std::string`是一个非常重要的数据类型,用于表示和操作字符串。本文将详细解析两种常用的C++ `std::string`截取字符串的方法:`find`和`find_last_of`,以及如何结合使用它们来满足各种字符串处理...
最新单片机仿真 字符串函数string.h应用举例最新单片机仿真 字符串函数string.h应用举例最新单片机仿真 字符串函数string.h应用举例最新单片机仿真 字符串函数string.h应用举例最新单片机仿真 字符串函数string.h...
在Android开发中,处理图像数据是一项常见的任务,而Bitmap和String是两个核心的数据类型,分别代表位图图像和文本字符串。Bitmap对象用于存储和显示图像,而String则常用于保存和传输文本信息。本篇文章将深入探讨...
在C#编程语言中,处理字符串是常见的任务之一,其中包括删除字符串中的特定部分或子字符串。本篇文章将详细探讨如何在C#中实现这一功能,包括多种方法和实用技巧。 首先,C#提供了多种内置方法来操作字符串,比如`...
在本压缩包“字符串string.zip”中,主要包含的是与Java编程语言中字符串相关的教学资料,特别是针对S1课程的学员。这个课程旨在帮助学生深入理解程序逻辑,并且重点聚焦在Java中的字符串处理。文件“Chapter15”...
给写了2个方法,一个是直接截取单个需要的字符串,比如字符串string a="ab123456",我只需要提取3,那么就是单独截取就可以了,从2开始到4结束就行。 第二个是把所有的符合条件的字符串都截取出来,提取出来,比如...
通过分析和学习这个文件,我们可以深入理解高级字符串处理技术,并将其应用到自己的项目中,提高代码的运行效率。 总之,当Delphi内置的`StringReplace`函数无法满足性能需求时,开发者会寻求自定义解决方案,如`Q_...
### Java完美按格式化字符串String转sql.Date 在Java编程中,经常需要处理日期与时间相关的数据。特别是在数据库操作时,经常会遇到需要将字符串类型的日期转换为`java.sql.Date`类型的情况。本文将详细介绍如何...
接下来,我们可以使用`CONCAT`函数或`STRING`构造函数将字符数组转换为字符串: ```scl ResultString := CONCAT(CharArray); // 或者 ResultString := STRING(CharArray); ``` 这样,`ResultString`就包含了'ABCDE'...
本篇文章将详细讲解如何将string类型的XML字符串转换为JSON字符串,并介绍相关的技术知识。 首先,理解XML和JSON的基本结构是至关重要的。XML是一种树形结构的标记语言,通过标签来定义元素和属性,例如: ```xml ...
1. **Arduino String 类**: Arduino IDE 提供了一个名为 `String` 的类,它允许我们创建、操作和管理字符串。`String` 类提供了许多方法,如 `concat()`, `substring()`, `indexOf()`, `charAt()` 等,用于对字符串...
总结,C#中的Base64字符串与普通字符串互转是通过`System.Convert`类提供的`ToBase64String`和`FromBase64String`方法实现的。在进行转换时,需要确保对字符串的编码有准确的理解,以便正确地转换和还原。在实际应用...
std::string、char*、const char*转托管byte数组或托管字符串String std::string、char*、const char*是C++中三个不同的字符串表示方式,它们都可以转换为托管的byte数组或字符串String,但是在C++/CLI中,它们的...
本项目“字符串比对String Compare”提供了一个简易的工具,用于直观地进行字符串的比较。该工具基于.NET Framework 2.0开发,用户在使用时需要注意系统可能需要安装此版本的.NET环境。 字符串比对涉及到的知识点...
在这里,`inputString`是你想要拆分的原始字符串,`delimiter`是用于标识子字符串边界的字符或字符串。例如,如果你有一个逗号分隔的字符串,你可以这样拆分: ```vb Dim str As String = "苹果,香蕉,橙子" Dim ...
返回值为一个字符串,该字符串是删除了string字符串左部空格的字符串。 4. Len()函数:Len()函数可以得到字符串的长度。其语法为Len(string),其中string是指定要计算长度的字符串。返回值为一个长整数,该整数是...
C# 6.0引入了一种新的字符串操作方式——字符串插值(String Interpolation),它为程序员提供了更直观、简洁的格式化字符串方法。在之前的版本中,我们通常使用`String.Format`或`StringBuilder`来构造包含变量的...
首先,C#提供了丰富的字符串类(System.String)和正则表达式类(System.Text.RegularExpressions)来帮助我们完成这项工作。在标准的字符串方法中,没有直接提供一个功能可以获取两个已知字符串之间的子串,但我们...