In diesem Artikel werden hauptsächlich die Konvertierungsbeispiele für Java-Byte-Streams und grundlegende -Datentypen vorgestellt.
Interessierte Freunde können darauf verweisen In der tatsächlichen Entwicklung stoßen wir häufig auf die Situation bei der Kommunikation mit eingebetteten Geräten. Aufgrund der schlechten Verarbeitungsfähigkeiten einiger eingebetteter Geräte werden Daten häufig in Form von binären Datenströmen übertragen. Hinweis: Der Standardübertragungsmodus ist Little Endianpublic static int getInt(byte[] bytes) { return (0xff & bytes[0]) | (0xff00 & (bytes[1] << 8)) | (0xff0000 & (bytes[2] << 16)) | (0xff000000 & (bytes[3] << 24)); }
public static long getLong(byte[] bytes) { return ((0xffL & (long) bytes[0]) | (0xff00L & ((long) bytes[1] << 8)) | (0xff0000L & ((long) bytes[2] << 16)) | (0xff000000L & ((long) bytes[3] << 24)) | (0xff00000000L & ((long) bytes[4] << 32)) | (0xff0000000000L & ((long) bytes[5] << 40)) | (0xff000000000000L & ((long) bytes[6] << 48)) | (0xff00000000000000L & ((long) bytes[7] << 56))); }
float konvertieren
public static float getFloat(byte[] bytes){ int temp=getInt(bytes); return Float.intBitsToFloat(temp); }
public static double getDouble(byte[] bytes){ long temp=getLong(bytes); return Double.longBitsToDouble(temp); }
public static byte[] getByteFromInt(int data){ byte[] temp=new byte[4]; temp[0]=(byte)(0xFF&(data)); temp[1]=(byte)(0xFF&(data>>8)); temp[2]=(byte)(0xFF&(data>>16)); temp[3]=(byte)(0xFF&(data>>24)); return temp; }
public static byte[] getByteFromLong(long data){ byte[] temp=new byte[8]; temp[0]=(byte)(0xFF&(data)); temp[1]=(byte)(0xFF&(data>>8)); temp[2]=(byte)(0xFF&(data>>16)); temp[3]=(byte)(0xFF&(data>>24)); temp[4]=(byte)(0xFF&(data>>32)); temp[5]=(byte)(0xFF&(data>>40)); temp[6]=(byte)(0xFF&(data>>48)); temp[7]=(byte)(0xFF&(data>>56)); return temp; }
public static byte[] getByteFromFloat(float data){ byte[] temp=new byte[4]; int tempInt=Float.floatToIntBits(data); temp[0]=(byte)(0xFF&(tempInt)); temp[1]=(byte)(0xFF&(tempInt>>8)); temp[2]=(byte)(0xFF&(tempInt>>16)); temp[3]=(byte)(0xFF&(tempInt>>24)); return temp; }
Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung von Konvertierungsbeispielen zwischen Java-Byte-Streams und grundlegenden Datentypen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!