나는 String name = "admin";
그때String char = name.substring(0,1); //char="a"
를 char
ASCII 값 (97) 으로 변환하고 싶습니다 .Java에서 어떻게 할 수 있습니까?
답변
매우 간단합니다. 그냥 캐스팅 char
int로서 int
.
char character = 'a';
int ascii = (int) character;
귀하의 경우 먼저 문자열에서 특정 문자를 가져 와서 캐스팅해야합니다.
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.
답변
다른 접근법
String s = "admin";
byte[] bytes = s.getBytes("US-ASCII");
bytes[0]
는 전체 배열에서 다른 문자의 ASCII를 나타냅니다.
답변
이 대신에 :
String char = name.substring(0,1); //char="a"
이 charAt()
방법을 사용해야합니다 .
char c = name.charAt(0); // c='a'
int ascii = (int)c;
답변
Java 문자가 ASCII 문자가 아니기 때문에이를 수행하는 방법을 보여주기 위해 제시된 몇 가지 답변이 모두 잘못되었습니다. Java는 유니 코드 문자의 멀티 바이트 인코딩을 사용합니다. 유니 코드 문자 집합은 수퍼 ASCII 집합입니다. 따라서 Java 문자열에 ASCII에 속하지 않는 문자가있을 수 있습니다. 이러한 문자에는 ASCII 숫자 값이 없으므로 Java 문자의 ASCII 숫자 값을 얻는 방법을 묻는 것은 대답 할 수 없습니다.
그러나 왜 어쨌든 이것을하고 싶습니까? 당신은 그 가치로 무엇을 할 것입니까?
Java 문자열을 ASCII 문자열로 변환 할 수있는 숫자 값을 원한다면 실제 질문은 “Java 문자열을 ASCII로 인코딩하는 방법”입니다. 이를 위해 object를 사용하십시오 StandardCharsets.US_ASCII
.
답변
전체 문자열을 연결된 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가 표시됩니다.
에 신용 이 .
방금 다른 사람들에게 편리하도록 여기에 복사했습니다.
답변
char을 int로 변환하십시오.
String name = "admin";
int ascii = name.toCharArray()[0];
또한 :
int ascii = name.charAt(0);
답변
그냥 문자를 int로 캐스팅하십시오.
char character = 'a';
int number = (int) character;
값은 number
97입니다.