好吧所以我不知道它的确切名称(这就是为什么它在标题中是错的),这也是我不知道在哪里搜索的原因。任何人都可以告诉我它叫什么,所以我可以搜索它吗?
基本上它是什么索引使用的,因为它是与每个字母相关联的数字。每个字母都有一个特定的数字,以及所有其他非数字字符。例如(可能是错的)
A = 92
a = 31
B = 93
b = 32
C = 94
c = 33
等等。或者,有人能告诉我如何通过一个简单的程序获得数字吗?
答案 0 :(得分:4)
这非常简单,只需将您的char
转换为int
,另见Character代码:
System.out.println('A'); // A
System.out.println((int) 'A'); // 65
在Java中,字符用UTF-16
编码char数据类型(因此Character对象封装的值)基于原始Unicode规范,该规范将字符定义为固定宽度的16位实体。此后,Unicode标准已更改为允许表示形式需要16位以上的字符。合法代码点的范围现在是U + 0000到U + 10FFFF,称为Unicode标量值。
char[] chars = "abcdefghijklmnopqrstuvwxyz01234567890....".toCharArray();
System.out.println("char unicode hex code");
for (char c : chars)
System.out.println(String.format(
"'%s' : \\u%04x : 0x%04X : %s", c, (int) c, (int) c, (int) c));
}
char unicode hex code
'a' : \u0061 : 0x0061 : 97
'b' : \u0062 : 0x0062 : 98
'c' : \u0063 : 0x0063 : 99
'd' : \u0064 : 0x0064 : 100
'e' : \u0065 : 0x0065 : 101
'f' : \u0066 : 0x0066 : 102
'g' : \u0067 : 0x0067 : 103
'h' : \u0068 : 0x0068 : 104
'i' : \u0069 : 0x0069 : 105
...
答案 1 :(得分:3)
将字符转换(通过自动扩展)到int:
char c = 'A'; // A when printed
int i = c; // 65 when printed
int值65是十六进制41或八进制101。我假设您在问题中犯了一些数字错误,并且您想要其中一个值。
答案 2 :(得分:1)
Java使用Unicode,这是世界上所有角色的编号。 Windows和Linux具有字符映射实用程序(Windows,附件,系统) -
将char解释为int通常会执行:
String s = "Hello, world!";
for (int i = 0; i < s.length(); ++i) {
char ch = s.charAt(i);
System.println("Char " + ch + " has code " + (int)ch);
}
s = "ŝi estas ĉarma";
for (int i = 0; i < s.length(); ) {
int c = s.codePointAt(i);
int n = Character.charCount(c);
System.println("Char " + s.substring(i, i + n) + " has code " + c);
i += n;
}
使用codePoint更适合亚洲语言。
答案 3 :(得分:1)
我认为你要找的是ASCII(问问)。所有(英语)字母,数字和一些标点字符都具有与之关联的ASCII代码。您可以使用
找到ASCII代码System.out.println((int)'a');
或
int a = 'a';
答案 4 :(得分:1)