1。バイトから10進み
(int)タイプ変換を直接使用します。
/** byte to decimal*/ public static int byte2int(byte b){int r =(int)b; rを返します。 }2。小数点からバイトまで
(バイト)タイプ変換を直接使用します。
/** byteからbyte*/ public static byte int2byte(int i){byte r =(byte)i; rを返します。 }3。BYTEARRAY TO HEXADECIMAL文字列
各バイトについて、最初に0xffで同じ操作を行い、次にinteger.tohexstring()関数を使用します。結果がわずか1ビットの場合、前に0を追加する必要があります。
/** 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進数文字は4ビット、1つのバイトは8ビットであるため、2つの16進数文字が1バイトに変換されます。最初の文字の場合、それをバイトに変換してから4ビットを残してシフトし、2番目の文字バイトで実行または操作して、2つの文字が1バイトに変換されます。
/**文字はバイトに変換されます*/ private static byte chartobyte(char c){return(byte) "0123456789abcdef" .indexof(c); } /** hex string 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; byte [] b = new byte [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])); } burten b; }}5。バイト配列を文字列に変換します
新しい文字列()を直接使用します。
/** byte array to string*/ public static string bytes2string(byte [] b)スロー例外{string r = new string(b、 "utf-8"); rを返します。 }6。バイト配列から文字列
getBytes()を直接使用します。
/** string to byte array*/ public static byte [] string2bytes(string s){byte [] r = s.getBytes(); rを返します。 }7。弦から文字列への16進文字列
最初にバイト[]に変換し、次に文字列に変換します。
/** string to string*/ public static string hex2string(string hex)スロー例外{string r = bytes2string(hexstring2bytes(hex)); rを返します。 }8。六分形の文字列への文字列
最初にバイト[]に変換し、次に16進数文字列に変換します。
/** String to Hexadecimal string*/ public static string string2hexstring(string s)throws exception {string r = bytes2hexstring(string2bytes(s)); rを返します。 }主な関数:
public static void main(string [] args)スロー例外{byte b1 =(byte)45; system.out.println( "1。byteto decimal:" + byte2int(b1)); int i = 89; system.out.println( "2.1からバイトへのバイト:" + int2byte(i)); byte [] b2 = new byte [] {(byte)0xff、(byte)0x5f、(byte)0x6、(byte)0x5a}; System.out.println( "3。BYTEARRAY TO HEXADECIMAL STRING:" + BYTES2HEXSTRING(B2));文字列s1 = new String( "1Da47c"); system.out.println( "4.16%string to byte array:" + arrays.tostring(hexstring2bytes(s1))); System.out.println( "5。BYTEARRAY to String:" + bytes2string(b2)); system.out.println( "6。stringto byte array:" + arrays.toString(string2bytes(s1))); System.out.println( "7.16%String to String:" + hex2string(s1));文字列S2 = new String( "Hello!"); System.out.println( "8。Stringto Hexadecimal string:" + string2hexstring(s2)); }実行結果:
1。バイトから10進:452.1 10進数からバイト:893。1665個へのバイト配列:FF5F065A4。 160個の文字列からバイト配列:[29、-92、124] 5。文字列へのバイト配列:?_ Z6。文字列からバイト配列:[49、68、65、52、55、67] 7。 Stringから文字列への16進:?| 8。文字列から160個の文字列:48656C6C6F21
上記の記事では、バイナリ、10進、16進数、文字列間の相互変換について簡単に説明します。私はそれがあなたに参照を与えることができることを願っています、そしてあなたがwulin.comをもっとサポートできることを願っています。