ネットワークプログラミングでは、通常、帯域幅の保存またはエンコードのために文字列に変換するのではなく、長い方法とintがネイティブの方法で処理されます。
public class byteorderutils {public static byte [] int2byte(int res){byte []ターゲット= new byte [4];ターゲット[3] =(byte)(res&0xff); //最低ビットターゲット[2] =(byte)((res >> 8)&0xff); //二次低ビットターゲット[1] =(byte)((res >> 16)&0xff); //セカンダリハイビットターゲット[0] =(byte)ターゲットを返します。 } public static int bytearraytoint(byte [] b){byte [] a = new byte [4]; int i = a.length -1、j = b.length -1; for(; i> = 0; i - 、j-){// bの尾(つまり、int値の低いビット)からデータを起動します(j> = 0)a [i] = b [j]; else a [i] = 0; // b.lengthが4未満の場合、0に0を追加します} int v0 =(a [0]&0xff)<< 24; //&0xffは、Java自動型プロモーションの後に高ビットの符号ビットを回避するためにintにバイト値を変換します。 int v2 =(a [2]&0xff)<< 8; int v3 =(a [3]&0xff); V0 + V1 + V2 + V3を返します。 } public static byte [] long2byte(long res){byte [] buffer = new byte [8]; for(int i = 0; i <8; i ++){int offset = 64-(i+1) * 8;バッファー[i] =(byte)((res >> offset)&0xff); } return buffer;} public static long bytearraytolong(byte [] b){long values = 0; for(int i = 0; i <8; i ++){values << = 8;値| =(b [i]&0xff); } return値。 }}上記は、java int変換への完全な内容と、編集者によってもたらされたバイトへの長い変換です。誰もがwulin.comをもっとサポートすることを願っています〜