如何在Java中使用字元存储Unicode字符
无意义的数据元素被称为字元,因为它们有固定的值。在Java中,字元也被称为常数。
在字元的帮助下,有可能表示各种各样的值。
Java中的字符串是对象。如果我们在许多变量中指定同一个字符串,Java的虚拟机将只在内存中存储一个字符串对象。
对于字符的编码,有一个国际标准。
字符可以用各种形式表示,如文本文件。它们也可以存储在Unicode或char数据类型中。
三种类型的字符编码是:UTF-8 ,UTF-16 ,和UTF-32 。网络内容应该只使用UTF-8 。
要使用字元,我们应该把它们放在单引号里。
单引号可以用来指定除反斜杠以外的任何可打印字符\ 作为字符本身。a,A, 和+ 是这些字面符号的例子。
为了表示不能以这种方式输入的字符,如退格符,必须使用转义序列来代替。
与其他字符字头一样,转义序列应该用单引号包裹。
编码方法
1.使用char数据类型的Unicode。
在这种方法中,我们使用单引号将Unicode字符存储在char变量中,然后再输出值。
其实现方式如下所示。
import java.io.*;
class Example {
public static void main(String[] args)
{
char first1 = '/';
System.out.println(first1);
char second2 = '?';
System.out.println(second2);
char third3 = '1';
System.out.println(third3);
char fourth4 = '~';
System.out.println(fourth4);
char fifth5 = '$';
System.out.println(fifth5);
char sixth6 = 'a';
System.out.println(sixth6);
char seventh7 = 'A';
System.out.println(seventh7);
}
}
输出
/
?
1
~
$
a
A
2.将Unicode值归于char数据类型
使用单引号,你将建立一个字符变量,在变量中存储一个Unicode值,然后打印它。
实现方法如下所示。
import java.io.*;
class Example {
public static void main(String[] args)
{
char first1 = '\u002F';
System.out.println(first1);
char second2 = '\u003F';
System.out.println(second2);
char third3 = '\u0031';
System.out.println(third3);
char fourth4 = '\u007E';
System.out.println(fourth4);
char fifth5 = '\u0024';
System.out.println(fifth5);
char sixth6 = '\u0061';
System.out.println(sixth6);
char seventh7 = '\u0041';
System.out.println(seventh7);
}
}
输出
/
?
1
~
$
a
A
3.指派ASCII数据类型
单引号将ASCII值保存在一个变量中,然后用来打印该值,如下图所示。
import java.io.*;
class Example {
public static void main(String[] args)
{
char first1 = 47;
System.out.println(first1);
char second2 = 49;
System.out.println(second2);
char third3 = 126;
System.out.println(third3);
char fourth4 = 36;
System.out.println(fourth4);
char fifth5 = 97;
System.out.println(fifth5);
char sixth6 = 65;
System.out.println(sixth6);
}
}
输出
/
1
~
$
a
A
Unicode字符字元
要打印Unicode字符,请输入转义序列 "u"。
Unicode序列可以在Java代码中到处使用。只要它包含Unicode字符,就可以作为一个标识符使用。
你可以使用Unicode来传达注释、ID、字符内容和字符串字面意义,以及其他信息。
然而,请注意,它们会被编译器提前解释。因此,使用Unicode换行符作为打印语句的一部分,会在你的源代码中引起错误。
编译器将把这个问题视为一个实际的换行符,它出现在一个字符字面的单引号结尾之前,这将导致一个错误。
下面的代码显示了这个错误和最佳使用情况。
System.out.print( "\n" ); // This is okay
System.out.print( '\u000a' ); // This will give a compiler error
换行符被用来过早地终止Unicode序列。正如所讨论的,编译器将Unicode序列解释为一个字符字面。
统一码的优点
- 当一个应用程序使用Unicode时,读写字符数据的符号都包含在一个代码页中。这就提高了开发速度。
- UTF-8中的每个标准ASCII字符都被分配了它的ASCII值。对于ASCII应用程序,这个功能简化了转换过程。
- 对于利用不同代码页的OpenEdge客户端来说,可以毫无问题地读写一个单一的UTF-8数据库。
Unicode的一个缺点是,当涉及到存储和分配变量时,它需要更多的内存。
关于字词的更多信息
在你的软件中使用字面意义允许你在你的代码中指定精确的值。
在命名变量和赋值时,必须遵循一定的规则,以使程序更具可读性。
字母的一个优点是它们不需要大量的计算。这意味着它们可以直接在源代码中被定义。
结论
数据通过字符编码转换为字母和数字。这个过程指示计算机如何进行转换。
在转换过程中,一个字母、数字或符号被赋予一个数字值。在处理Unicode文件时,一些编辑器会在文件的开头添加字节顺序标记或BOM。