Base64에서 Hex 로의 문자열 변환을 구현하려고하는데 다음과 같은 결과를 산출해야합니다. 이 웹 사이트. 예를 들어 (Base64 :bACAAAAAAAA =)는 (16 진수 :6c00800000000000).이 구현은자바 스크립트올바른 출력을 산출합니다. 그래서 나는 동등한 것을 구현하려고 노력했다.자바:
private static String base64ToHex(String input) {
byte[] raw = Base64.getDecoder().decode(input.getBytes());
String result = "";
for (int i = 0; i < raw.length; i++) {
String hex = Integer.toString(raw[i], 16);
result += (hex.length() == 2 ? hex : '0' + hex);
}
return result.toUpperCase();
}
불행히도 이것은 필요한 출력을 제공하지 않습니다. 그래서 내가 놓친 것에 대해 힌트를 줄 수 있습니까?
- 답변 # 1
- 답변 # 2
private static String base64ToHex(String input) { byte[] raw = Base64.getDecoder().decode( input.getBytes(StandardCharsets.US_ASCII)); StringBuilder result = new StringBuilder(raw.length * 2); for (byte b : raw) { result.append(String.format("%02X", b & 0xFF)); } return result.toString(); }
문제는 자바
byte
이다서명, 따라서 마스킹& 0xFF
.
관련 자료
- 문자열이 PowerShell에서 Base64로 인코딩되었는지 확인하십시오
- % c 및 % s의 사용자 입력으로 문자열을 가져와 두 문자열이 동일한 지 확인합니다
- reactjs - 테스트 부울이 문자열과 같음
- x509certificate - Python의 base64 인코딩 문자열에서 공개 키 가져 오기
- python - 압축 된 base64 문자열을 어떻게 압축 해제합니까?
- php - 배열에서 문자열로의 변환 오류가 발생하는 이유는 무엇입니까?
- python - 부호없는 정수만 인코딩 할 때 base64 문자열 길이 계산
- c# - 문자열을 datetime으로 변환하는 문제를 해결하는 방법은 무엇입니까?
- Python 16 진수 문자열을 정수로 변환 오류
- java - Map 문자열을 Map으로 변환하여 Pathways 속성 중 하나를 설정합니다
- java - 입력 정수와 동일한 문자열 배열 길이에서 문자열 반환
- 루비 gsub 문자열 전화를 특정 형식으로 변환
- nullable double 변수를 VBNET에서 문자열로 변환
- c# - 암시 적 변환을 사용하여 문자열을 형식으로 캐스팅 할 수 없습니다
- Python의 JavaScript에서 생성 된 base64 인코딩 JSON 문자열 디코딩
- php - elequent laravel에서 배열에서 문자열로 변환
- PHP에서 base64 문자열을 비디오로 변환하는 방법은 무엇입니까?
- python - 문자열을 나열하고 목록을 문자열로 변환 - 분할없이
- javascript - Base64 문자열 디코딩
아래 시도-인코딩이 아니라 디코딩해야합니다. 디코딩 된 값만 고려하고 부호 부분은 무시합니다. 즉, Math.abs ()를 사용하여 절대 값 만 취합니다.