Heim >Java >javaLernprogramm >Analyse von Beispielcode zur Konvertierung von Byteströmen und grundlegenden Datentypen in Java
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: Standardmäßig wird der Little-Endian-Modus für die Übertragung verwendetpublic static int getInt(byte[] bytes) { return (0xff & bytes[0]) | (0xff00 & (bytes[1] << 8)) | (0xff0000 & (bytes[2] << 16)) | (0xff000000 & (bytes[3] << 24)); }Byte-Stream in Daten vom Typ „Lang“ konvertieren
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))); }Byte-Stream in Daten vom Typ
Float konvertieren
public static float getFloat(byte[] bytes){ int temp=getInt(bytes); return Float.intBitsToFloat(temp); }Byte-Stream in Double-Type-Daten konvertieren
public static double getDouble(byte[] bytes){ long temp=getLong(bytes); return Double.longBitsToDouble(temp); }Int-Type-Daten in Byte-Stream konvertieren
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; }Long-Type-Daten in Byte-Stream konvertieren
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; }Float-Type-Daten in Byte-Stream konvertieren
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; }Double-Typ-Daten in Byte-Stream konvertieren
Das obige ist der detaillierte Inhalt vonAnalyse von Beispielcode zur Konvertierung von Byteströmen und grundlegenden Datentypen in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!