나는 이것을 온라인에서 찾았고 내가 그것을 필요로하는 것을 위해 작동한다. 그러나 그것을 어떻게 되돌릴 수 있는가, 즉 16 진 문자열을 다시 byte []로 변환하는 방법을 의미 하는가?
private static final char[] HEX_CHARS = {
'0', '1', '2' ,'3', '4', '5', '6', '7', '8', '9',
'a', 'b', 'c', 'd', 'e', 'f'
};
public String toHexString(byte[] bytes)
{
StringBuilder sb = new StringBuilder();
for(int i = 0; i < bytes.length; i++) {
byte b = bytes[i];
sb.append(new char[] {HEX_CHARS[(b >> 4) & 0x0f], HEX_CHARS[b & 0x0f]});
}
return sb.toString();
}
다음을 시도하십시오.
public static byte[] hexStringToByteArray(String s) {
int len = s.length();
byte[] data = new byte[len / 2];
for (int i = 0; i < len; i += 2) {
data[i / 2] = (byte) ((Character.digit(s.charAt(i), 16) << 4)
+ Character.digit(s.charAt(i+1), 16));
}
return data;
}
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다