检索char:Java的Unicode值

检索char:Java的Unicode值,java,unicode,Java,Unicode,我正在寻找一种方法来检索给定字符的Unicode值,如果可能的话,将其存储为整数。在Java中有没有内置的方法,或者我必须自己编写代码 上下文 为了好玩,我正在建立一个基本的加密程序。我需要的是将Unicode集中的每个字符映射到一个整数,然后在加密公式中对其进行操作 我曾想过通过将字符类型转换为int来为字符使用ASCII值,但后来我在线阅读了有关Unicode的内容,并意识到了我的错误 任何帮助都将不胜感激 Java编程语言使用UTF-16编码以16位代码单元的序列表示文本 因此,这就足够了

我正在寻找一种方法来检索给定字符的Unicode值,如果可能的话,将其存储为整数。在Java中有没有内置的方法,或者我必须自己编写代码

上下文

为了好玩,我正在建立一个基本的加密程序。我需要的是将Unicode集中的每个字符映射到一个整数,然后在加密公式中对其进行操作

我曾想过通过将字符类型转换为int来为字符使用ASCII值,但后来我在线阅读了有关Unicode的内容,并意识到了我的错误

任何帮助都将不胜感激

Java编程语言使用UTF-16编码以16位代码单元的序列表示文本

因此,这就足够了:

char character='a';
int code = character;
System.out.println(code);
依照

字符文字只能表示UTF-16代码单位(§3.1),即它们仅限于\u0000到\uffff之间的值。补充字符必须表示为字符序列中的代理项对,或表示为整数,具体取决于它们所使用的API


Java
char
已经是
UNICODE
(特别是它)。
char c=somechar….
int unicodeValue=somechar
后缀UNICODE代码点只能存储在
int
中,而不能存储在
char
中。这是一个典型的初学者错误。Java
char
仅包含单个UTF-16代码单元。加密Unicode(无论是基于代码点还是基于Java字符串所基于的UTF-16代码单元)是非常不寻常的。大多数密码实现都是基于字节数组的,您可能会发现这样做更容易。要将任何Unicode字符串映射到字节数组,请选择UTF编码(Java字符集),可能是UTF-8。如果您的UTF位于字符串中,最好是在存在4字节代码点的情况下。