每个字母的索引号?

时间:2014-01-12 19:58:20

标签: java

好吧所以我不知道它的确切名称(这就是为什么它在标题中是错的),这也是我不知道在哪里搜索的原因。任何人都可以告诉我它叫什么,所以我可以搜索它吗?

基本上它是什么索引使用的,因为它是与每个字母相关联的数字。每个字母都有一个特定的数字,以及所有其他非数字字符。例如(可能是错的)

A = 92

a = 31

B = 93

b = 32

C = 94

c = 33

等等。或者,有人能告诉我如何通过一个简单的程序获得数字吗?

5 个答案:

答案 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)

您的数字 对于Java来说是错误的。您正在寻找ASCII和/或Unicode; Unicode是ASCII的国际超集。 Java使用Unicode的UTF-16编码作为其字符。

要在程序中使用数字,只需将字符转换为整数,反之亦然

char c='A';
int i=(int)c; // i will be set to 65