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`,以及如何结合使用它们来满足各种字符串处理...
在Android开发中,处理图像数据是一项常见的任务,而Bitmap和String是两个核心的数据类型,分别代表位图图像和文本字符串。Bitmap对象用于存储和显示图像,而String则常用于保存和传输文本信息。本篇文章将深入探讨...
在C#编程语言中,处理字符串是常见的任务之一,其中包括删除字符串中的特定部分或子字符串。本篇文章将详细探讨如何在C#中实现这一功能,包括多种方法和实用技巧。 首先,C#提供了多种内置方法来操作字符串,比如`...
给写了2个方法,一个是直接截取单个需要的字符串,比如字符串string a="ab123456",我只需要提取3,那么就是单独截取就可以了,从2开始到4结束就行。 第二个是把所有的符合条件的字符串都截取出来,提取出来,比如...
通过分析和学习这个文件,我们可以深入理解高级字符串处理技术,并将其应用到自己的项目中,提高代码的运行效率。 总之,当Delphi内置的`StringReplace`函数无法满足性能需求时,开发者会寻求自定义解决方案,如`Q_...
### Java完美按格式化字符串String转sql.Date 在Java编程中,经常需要处理日期与时间相关的数据。特别是在数据库操作时,经常会遇到需要将字符串类型的日期转换为`java.sql.Date`类型的情况。本文将详细介绍如何...
本篇文章将详细讲解如何将string类型的XML字符串转换为JSON字符串,并介绍相关的技术知识。 首先,理解XML和JSON的基本结构是至关重要的。XML是一种树形结构的标记语言,通过标签来定义元素和属性,例如: ```xml ...
接下来,我们可以使用`CONCAT`函数或`STRING`构造函数将字符数组转换为字符串: ```scl ResultString := CONCAT(CharArray); // 或者 ResultString := STRING(CharArray); ``` 这样,`ResultString`就包含了'ABCDE'...
总结,C#中的Base64字符串与普通字符串互转是通过`System.Convert`类提供的`ToBase64String`和`FromBase64String`方法实现的。在进行转换时,需要确保对字符串的编码有准确的理解,以便正确地转换和还原。在实际应用...
本项目“字符串比对String Compare”提供了一个简易的工具,用于直观地进行字符串的比较。该工具基于.NET Framework 2.0开发,用户在使用时需要注意系统可能需要安装此版本的.NET环境。 字符串比对涉及到的知识点...
在这里,`inputString`是你想要拆分的原始字符串,`delimiter`是用于标识子字符串边界的字符或字符串。例如,如果你有一个逗号分隔的字符串,你可以这样拆分: ```vb Dim str As String = "苹果,香蕉,橙子" Dim ...
返回值为一个字符串,该字符串是删除了string字符串左部空格的字符串。 4. Len()函数:Len()函数可以得到字符串的长度。其语法为Len(string),其中string是指定要计算长度的字符串。返回值为一个长整数,该整数是...
首先,C#提供了丰富的字符串类(System.String)和正则表达式类(System.Text.RegularExpressions)来帮助我们完成这项工作。在标准的字符串方法中,没有直接提供一个功能可以获取两个已知字符串之间的子串,但我们...
本文将深入探讨字符串、String类以及StringBuilder类,帮助你更好地理解和应用这些基础知识。 首先,我们关注的是String类。在C#中,String类是不可变的,这意味着一旦一个字符串对象被创建,它的内容就不能被改变...
- `split(String regex)`:根据给定的正则表达式将字符串分割成多个子字符串,并返回一个包含这些子字符串的数组。 ### 示例代码 ```java public class TestJavaDemo01 { public static void main(String[] args)...
然而,有时为了学习目的或者特定需求,我们可能需要自定义一个字符串类,就像这个作业所要求的那样。在这个“C++实现的String字符串类”中,我们将探讨类的设计、重载操作符、内存管理以及类的组合。 首先,一个...
在C#编程中,字符串与十六进制之间的转换是一个常见的需求,特别是在处理数据存储、网络传输或者加密解密等场景。下面将详细讲解如何在C#中实现这一过程。 首先,我们要了解基本概念。字符串是由Unicode字符组成的...
学习这些函数的组合使用,能提高在LabVIEW中处理字符串的效率和精度。 总结,LabVIEW中的“字符串拆分到数组”功能是通过“字符串到数组”函数实现的,它支持包括中文在内的各种字符。理解这个函数的工作原理和使用...