>  기사  >  컴퓨터 튜토리얼  >  JAVA를 사용하여 16진수를 문자열로 변환하는 방법은 무엇입니까? 고마워하는!

JAVA를 사용하여 16진수를 문자열로 변환하는 방법은 무엇입니까? 고마워하는!

WBOY
WBOY앞으로
2024-01-16 09:30:14881검색

JAVA를 사용하여 16진수를 문자열로 변환하는 방법은 무엇입니까? 고마워하는!

JAVA에서 16진수를 문자열로 변환하는 방법을 알려주세요. 감사합니다

private static String hexString = "0123456789ABCDEF";

public static void main(String[] args) {

System.out.println(encode("中文"));

System.out.println(decode(encode("中文")));

}

/*

* 문자열을 모든 문자(중국어 포함)에 적합한 16진수로 인코딩합니다.

*/

공개 정적 문자열 인코딩(String str) {

// 기본 인코딩에 따라 바이트 배열을 가져옵니다

byte[] 바이트 = str.getBytes();

StringBuilder sb = new StringBuilder(bytes.length * 2);

// 바이트 배열의 각 바이트를 2자리 16진수 정수로 분해

for (int i = 0; i

sb.append(hexString.charAt((bytes[i] & 0xf0) >> 4));

sb.append(hexString.charAt((bytes[i] & 0x0f) >> 0));

}

return sb.toString();

}

/*

* 16진수를 모든 문자(중국어 포함)에 적합한 문자열로 디코딩합니다.

*/

공개 정적 문자열 디코드(문자열 바이트) {

ByteArrayOutputStream baos = 새로운 ByteArrayOutputStream(bytes.length() / 2);

// 각 2자리 16진수 정수를 1바이트로 조합하세요

for (int i = 0; i

baos.write((hexString.indexOf(bytes.charAt(i)))

.indexOf(bytes.charAt(i + 1))));

return new String(baos.toByteArray());

}

개인 테스트가 가능하며 중국어도 지원됩니다! ! ! 유익하셨다면 꼭 채택해주세요

JAVA에서 16진수를 ASCII 문자열로 변환하는 방법

이 방법을 사용하여 전달된 16진수 문자열을 UTF-8 형식의 문자열로 변환하세요

public static String toStringHex1(String s) {

byte[] baKeyword = 새 바이트[s.length() / 2];

for (int i = 0; i

시도해보세요 {

baKeyword[i] = (바이트) (0xff & Integer.parseInt(s.substring(

i * 2, i * 2 + 2), 16));

} 잡기(예외 e) {

e.printStackTrace();

}

}

시도해보세요 {

s = new String(baKeyword, "utf-8");// UTF-16le:Not

} 잡기(예외 e1) {

e1.printStackTrace();

}

반품;

}

C 언어 프로그램에서 16진수를 문자로 변환하는 방법:

당신의 문제는 숫자를 문자로 변환하는 것 뿐인 것 같은데요, 그렇죠? 그렇다면 전체 텍스트의 여러 줄 소스 코드를 만드는 데 도움을 주지 않겠습니다. 변환 한 줄을 외부 레이어에 중첩할 수 있습니다. 2D 배열을 사용하여 전체 텍스트의 여러 줄 ASCII 코드 변환을 달성하세요:

#include "Stdio.h"

#include "Conio.h"

int main(void)

{

int num[10],i=0;

while(getchar() != 'n')

{

getchar();

scanf("%x",&num[i]);

printf("%c",num[i]);

i++;

}

getch();

0을 반환합니다;

}

원칙은 이렇습니다.

매번 4바이트 형식은 xyy 형식입니다. 16진수만 읽으면 됩니다. scanf("%x",&num[i]); 16진수는 연속된 모든 16진수를 루프로 꺼내어 1차원 배열로 저장합니다.

출력 측면에서는 게을러서 직접 읽어서 출력했는데, 핵심은 printf("%c",num[i]); 16진수 변환 시스템 번호를 ASCII 코드에 해당하는 문자로 변환하여 출력합니다.

이제 이해하셨나요? 형식화된 입력 및 출력을 사용하여 16진수와 출력 문자를 읽습니다. (두 개의 getchar()은 각각 문자와 x를 읽는 데 사용됩니다~~)

파이썬을 사용하여 16진수 ASC 코드를 문자열 표시로 변환하는 방법

#16진수 문자를 2진수 문자로 변환

def str2byte(s):

base='0123456789ABCDEF'

i=0

s = s.upper()

s1=''

내가 c1=s[i]인 동안

c2=s[i+1]

i+=2

b1=base.find(c1)

b2=base.find(c2)

b1 == -1 또는 b2 == -1:

반품 없음

s1+=chr((b1은 s1을 반환합니다

s = 'C7 EB CE F0 BE C6 BA F3 BC DD B3 B5'.replace (' ', '') #공백 제거

s1 = str2바이트

print s1.decode('gbk') #gbk 코드로 디코딩 및 출력

#결과

>>>s1

'xc7xebxcexf0xbexc6xbaxf3xbcxddxb3xb5'

>>>s1.decode('gbk') 인쇄

음주 및 운전을 하지 마세요

위 내용은 JAVA를 사용하여 16진수를 문자열로 변환하는 방법은 무엇입니까? 고마워하는!의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 docexcel.net에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제