1. 바이트에서 10 진수
(int) 유형 변환을 직접 사용하십시오.
/** 바이트 ~ 10 진수*/ public static int byte2int (바이트 b) {int r = (int) b; RETOR R; }2. 바이트에서 소수점
직접 사용 (바이트) 유형 변환.
/ !! RETOR R; }
3. 바이트 배열로 16 진수 문자열
각 바이트마다 먼저 0xff로 동일한 작업을 수행 한 다음 Integer.tohexstring () 함수를 사용하십시오. 결과가 1 비트에 불과하면 앞에 0을 추가해야합니다.
/** BYTE ARRAY to HEX String*/ public static String bytes2HexString (byte [] b) {String r = ""; for (int i = 0; i <b.length; i ++) {string hex = integer.tohexstring (b [i] & 0xff); if (hex.length () == 1) {hex = '0' + hex; } r += hex.toupperCase (); } return r; }4. 16 진수 문자열에서 바이트 배열
이것은 더 복잡합니다. 각각의 16 진 문자는 4 비트이고 1 바이트는 8 비트이므로 2 개의 16 진 문자는 1 바이트로 변환됩니다. 첫 번째 문자의 경우 바이트로 변환 한 다음 왼쪽으로 4 비트로 이동 한 다음 두 번째 문자 바이트로 수행하거나 작동하여 두 문자가 1 바이트로 변환됩니다.
/** 문자는 바이트*/ private static byte chartobyte (char c) {return (byte) "0123456789ABCDEF"로 변환됩니다. } /** BYTE TO BYTE ARRAY* / public static byte [] hexstring2bytes (String hex) {if ((hex == null) || (hex.equals ( ""))) {return null; } else if (hex.length ()%2! = 0) {return null; } else {hex = hex.toupperCase (); int len = hex.length ()/2; 바이트 [] B = 새로운 바이트 [Len]; char [] hc = hex.tochararray (); for (int i = 0; i <len; i ++) {int p = 2*i; b [i] = (byte) (Chartobyte (hc [p]) << 4 | Chartobyte (hc [p+1]); } 반환 b; }}5. 바이트 배열을 문자열로 변환합니다
새 String ()을 직접 사용하십시오.
/** byte 배열 to String*/ public static string bytes2string (byte [] b) 예외 {string r = new String (b, "utf-8"); RETOR R; }6. 바이트 배열에서 문자열
GetBytes ()를 직접 사용하십시오.
/** 바이트에서 바이트 배열*/ public static byte [] string2bytes (string s) {byte [] r = s.getBytes (); RETOR R; }7. 16 진수 문자열로 문자열
바이트 []로 먼저 변환 한 다음 문자열로 변환하십시오.
/** 문자열에 대한 hexstring*/ public static String hex2string (String hex)은 예외를 던졌습니다 {String r = bytes2bytes (hexstring2bytes (hex)); RETOR R; }8. 문자열로 16 진수 문자열
바이트 []로 먼저 변환 한 다음 16 진수로 변환하십시오.
/** 문자열 to 16 진수 문자열*/ public static String String2HexString (문자열 s) 예외 {string r = bytes2HexString (string2bytes (s)); RETOR R; }주요 기능 :
public static void main (String [] args)은 예외 {byte b1 = (byte) 45; System.out.println ( "1. 바이트 ~ 10 진수 :" + byte2int (b1)); int i = 89; System.out.println ( "2.1 ~ 바이트 ~ 바이트 :" + int2byte (i)); 바이트 [] b2 = new Byte [] {(byte) 0xff, (byte) 0x5f, (byte) 0x6, (byte) 0x5a}; System.out.println ( "3. 바이트 배열로 16 진수 문자열 :" + bytes2hexstring (b2)); 문자열 s1 = 새 문자열 ( "1da47c"); System.out.println ( "4.16% 문자열에서 바이트 배열 :" + arrays.tostring (hexstring2bytes (s1))); System.out.println ( "5. 바이트 배열 to String :" + bytes2string (b2)); System.out.println ( "6. String to Byte Array :" + arrays.tostring (String2bytes (s1)); System.out.println ( "7.16% 문자열로 문자열 :" + hex2string (s1)); 문자열 s2 = 새 문자열 ( "hello!"); System.out.println ( "8. 문자열에서 16 진수 문자열 :" + string2hexstring (s2)); }실행 결과 :
1. 바이트에서 10 진수 : 452.1 소수점에서 바이트 : 893. 바이트 배열로 16 진수 문자열 : FF5F065A4. 바이트 배열에서 16 진수 문자열 : [29, -92, 124] 5. 바이트 배열 to String :? _ z6. 바이트에서 바이트 배열 : [49, 68, 65, 52, 55, 67] 7. 16 진수 문자열 to String :? | 8. 문자열로 16 진수 문자열 : 48656c6c6f21
위의 기사는 이진, 소수점, 16 진수 및 문자열 사이의 상호 전환에 대해 간략하게 설명하는 것이 내가 공유하는 모든 내용입니다. 나는 그것이 당신에게 참조를 줄 수 있기를 바랍니다. 그리고 당신이 wulin.com을 더 지원할 수 있기를 바랍니다.