Heim > Java > javaLernprogramm > Hauptteil

Detaillierte Erläuterung von Konvertierungsbeispielen zwischen Java-Byte-Streams und grundlegenden Datentypen

怪我咯
Freigeben: 2017-07-02 10:18:38
Original
2414 Leute haben es durchsucht

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 Endian


Konvertieren Sie den Byte-Stream in Daten vom Typ „int“

public static int getInt(byte[] bytes) {
  return (0xff & bytes[0]) | (0xff00 & (bytes[1] << 8)) | (0xff0000 & (bytes[2] << 16))
      | (0xff000000 & (bytes[3] << 24));
}
Nach dem Login kopieren
Konvertieren Sie den Byte-Stream in Daten vom Typ „long“

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)));
}
Nach dem Login kopieren
Byte-Stream in Daten vom Typ

float konvertieren

public static float getFloat(byte[] bytes){
  int temp=getInt(bytes);
  return Float.intBitsToFloat(temp);
}
Nach dem Login kopieren
Byte-Stream in Daten vom Typ Double konvertieren

public static double getDouble(byte[] bytes){
  long temp=getLong(bytes);
  return Double.longBitsToDouble(temp);
}
Nach dem Login kopieren
Daten vom Typ int konvertieren in Byte-Stream

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;
}
Nach dem Login kopieren
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;
}
Nach dem Login kopieren
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;
}
Nach dem Login kopieren
Double-Type-Daten in Byte konvertieren Stream

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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!