我有字符串名称= "admin"; 然后我做String charValue = name.substring(0,1);/ / charValue = " "
我想将charValue转换为它的ASCII值(97),我如何在java中做到这一点?
我有字符串名称= "admin"; 然后我做String charValue = name.substring(0,1);/ / charValue = " "
我想将charValue转换为它的ASCII值(97),我如何在java中做到这一点?
当前回答
非常简单。只需将char类型转换为int类型。
char character = 'a';
int ascii = (int) character;
在本例中,您需要首先从String中获取特定的字符,然后强制转换它。
char character = name.charAt(0); // This gives the character 'a'
int ascii = (int) character; // ascii is now 97.
虽然没有明确要求强制转换,但它提高了可读性。
int ascii = character; // Even this will do the trick.
其他回答
正如@Raedwald指出的那样,Java的Unicode并不能满足所有字符获取ASCII值的需求。正确的方法(Java 1.7+)如下:
byte[] asciiBytes = "MyAscii".getBytes(StandardCharsets.US_ASCII);
String asciiString = new String(asciiBytes);
//asciiString = Arrays.toString(asciiBytes)
将char型转换为int型。
String name = "admin";
int ascii = name.toCharArray()[0];
另外:
int ascii = name.charAt(0);
只需将char类型转换为int类型。
char character = 'a';
int number = (int) character;
number的值为97。
你可以用这段代码检查ASCII的数字。
String name = "admin";
char a1 = a.charAt(0);
int a2 = a1;
System.out.println("The number is : "+a2); // the value is 97
如果我错了,我道歉。
String str = "abc"; // or anything else
// Stores strings of integer representations in sequence
StringBuilder sb = new StringBuilder();
for (char c : str.toCharArray())
sb.append((int)c);
// store ascii integer string array in large integer
BigInteger mInt = new BigInteger(sb.toString());
System.out.println(mInt);