나는 문자열을 배열입니다. 고 싶어 그것을 변환하는 바이트 배열입니다. 내가 사용하는 Java 프로그램입니다. 예를 들어:
String str[] = {"aa", "55"};
으로 변환:
byte new[] = {(byte)0xaa, (byte)0x55};
내가 무엇을 할 수 있습니까?
샘플 나는 당신을 의미하는 문자열을 배열은 실제로 배열의 진수로 표현의 바이트를,don't you?
그렇다면,다음 각 문자열에 대한 항목의 수행하려면 다음과 같이 합니다:
int byteVal=(firstCharNumber<<4)|secondCharNumber;
갈 길이 멀다:). 저는 알지 못하는 방법을 제거래`에 대한 문의
ArrayList<Byte> bList = new ArrayList<Byte>();
for(String ss : str) {
byte[] bArr = ss.getBytes();
for(Byte b : bArr) {
bList.add(b);
}
}
//if you still need an array
byte[] bArr = new byte[bList.size()];
for(int i=0; i<bList.size(); i++) {
bArr[i] = bList.get(i);
}
가 없었기 때문에 대한 답진수 문자열을 하나의 바이트 변환,여기에 내:
private static byte hexStringToByte(String data) {
return (byte) ((Character.digit(data.charAt(0), 16) << 4)
| Character.digit(data.charAt(1), 16));
}
샘플 사용:
hexStringToByte("aa"); // 170
hexStringToByte("ff"); // 255
hexStringToByte("10"); // 16
거나 시도할 수 있습는정수입니다.parseInt(String number,int 기수)
imo,는 방법보다 더 나은 다른 사람입니다.
// first parameter is a number represented in string
// second is the radix or the base number system to be use
Integer.parseInt("de", 16); // 222
Integer.parseInt("ad", 16); // 173
Integer.parseInt("c9", 16); // 201
String str[] = {"aa", "55"};
byte b[] = new byte[str.length];
for (int i = 0; i < str.length; i++) {
b[i] = (byte) Integer.parseInt(str[i], 16);
}
정수입니다.parseInt(string,기수)문자열을 변환로 정수,기수 매개 변수를 지정합 숫자 시스템입니다.
사용하는 기기의 16 문자열을 나타냅 진수 숫자입니다.
를 사용의 기수 2 문자열을 나타내 이진수.
사용하는 기 10(또는 생략 기수 매개 변수)이 문자열을 나타냅니다.
더 자세한 사항은 체크 Java docs:https://docs.oracle.com/javase/7/docs/api/java/lang/Integer.html#parseInt(java.랭.문자열에%20int)