我有字符串名称= "admin"; 然后我做String charValue = name.substring(0,1);/ / charValue = " "

我想将charValue转换为它的ASCII值(97),我如何在java中做到这一点?


当前回答

几个旨在说明如何做到这一点的答案都是错误的,因为Java字符不是ASCII字符。Java使用Unicode字符的多字节编码。Unicode字符集是ASCII的超集。因此,Java字符串中可能存在不属于ASCII的字符。这样的字符没有ASCII数字值,因此询问如何获得Java字符的ASCII数字值是无法回答的。

但你为什么要这么做?你要怎么处理这个值呢?

如果你想要数值,这样你就可以将Java字符串转换为ASCII字符串,真正的问题是“我如何将Java字符串编码为ASCII”。为此,使用StandardCharsets.US_ASCII对象。

其他回答

你可以用这段代码检查ASCII的数字。

String name = "admin";
char a1 = a.charAt(0);
int a2 = a1;
System.out.println("The number is : "+a2); // the value is 97

如果我错了,我道歉。

只需将char类型转换为int类型。

char character = 'a';
int number = (int) character;

number的值为97。

如果您想将整个字符串转换为连接的ASCII值,那么您可以使用这个-

    String str = "abc";  // or anything else

    StringBuilder sb = new StringBuilder();
    for (char c : str.toCharArray())
    sb.append((int)c);

    BigInteger mInt = new BigInteger(sb.toString());
    System.out.println(mInt);

其中你将得到979899作为输出。

这要归功于它。

我只是把它复制在这里,这样其他人就方便了。

这很简单,获取你想要的字符,并将其转换为int。

String name = "admin";
int ascii = name.charAt(0);

将char型转换为int型。

    String name = "admin";
    int ascii = name.toCharArray()[0];

另外:

int ascii = name.charAt(0);