<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=External_Data_Representation</id>
	<title>External Data Representation - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=External_Data_Representation"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=External_Data_Representation&amp;action=history"/>
	<updated>2026-05-22T18:01:29Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Wikipedia (Deutsch) – Lokale Kopie</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki-de.moshellshocker.dns64.de/index.php?title=External_Data_Representation&amp;diff=253355&amp;oldid=prev</id>
		<title>imported&gt;PerfektesChaos: tk k</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=External_Data_Representation&amp;diff=253355&amp;oldid=prev"/>
		<updated>2023-06-14T18:56:14Z</updated>

		<summary type="html">&lt;p&gt;tk k&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;External Data Representation&amp;#039;&amp;#039;&amp;#039; (kurz: &amp;#039;&amp;#039;&amp;#039;XDR&amp;#039;&amp;#039;&amp;#039;) ist ein abstrakter technischer [[Standard|Kommunikationsstandard]], der von [[Sun Microsystems]] und anderen Unternehmen definiert wurde, um den Datenaustausch zwischen [[Server]]n und [[Client]]s hardwareunabhängig zu standardisieren. XDR ist eine [[Implementierung]] der Darstellungsschicht des [[OSI-Modell]] zur [[Rechnernetz|Netzwerkkommunikation]] und ist im &amp;lt;nowiki&amp;gt;RFC&amp;amp;nbsp;1014&amp;lt;/nowiki&amp;gt;&amp;lt;ref&amp;gt;{{RFC-Internet |RFC=1014 |Titel=XDR: External Data Representation Standard |Datum=1987-06}}&amp;lt;/ref&amp;gt; verbindlich festgeschrieben. Er wurde 1995 aktualisiert durch den &amp;lt;nowiki&amp;gt;RFC&amp;amp;nbsp;1832&amp;lt;/nowiki&amp;gt;,&amp;lt;ref&amp;gt;{{RFC-Internet |RFC=1832 |Titel=XDR: External Data Representation Standard |Datum=1995}}&amp;lt;/ref&amp;gt; welcher 128-bit-[[Gleitkommazahl]]en hinzufügte, und 2006 durch den &amp;lt;nowiki&amp;gt;RFC&amp;amp;nbsp;4506&amp;lt;/nowiki&amp;gt;,&amp;lt;ref&amp;gt;{{RFC-Internet |RFC=4506 |Titel=XDR: External Data Representation Standard |Datum=2006}}&amp;lt;/ref&amp;gt; welcher nur strukturelle, aber keine inhaltlichen Änderungen beinhaltet.&lt;br /&gt;
&lt;br /&gt;
Seine Hauptanwendung findet dieser Standard in der Kommunikation im SUN [[Network File System]]. Eine Reihe von Programmiersprachen unterstützen das Lesen und Schreiben von XDR-Daten durch Bibliotheksfunktionen (siehe z.&amp;amp;nbsp;B. xdr_*-Funktionen in der &amp;#039;&amp;#039;libc&amp;#039;&amp;#039; unter [[Unix]] für [[C (Programmiersprache)|C]], XDR-Modul für [[Perl (Programmiersprache)|Perl]], xdrlib-Modul für [[Python (Programmiersprache)|Python]]).&lt;br /&gt;
&lt;br /&gt;
XDR definiert eine Repräsentation für die gebräuchlichsten [[Datentyp]]en wie z.&amp;amp;nbsp;B. [[Integer (Datentyp)|Integer]], [[Zeichenkette|Strings]] oder [[Feld (Datentyp)|Arrays]], ist jedoch selbst untypisiert. Die XDR-[[Byte-Reihenfolge]] wird in den aktuellen Standards auf [[Big Endian]] festgelegt, was der Network Byte Order von [[Internetprotokollfamilie|TCP/IP]] entspricht. Einer XDR-Einheit entsprechen 4&amp;amp;nbsp;Bytes. [[Gleitkommazahl]]en werden in einfacher und doppelter Genauigkeit nach dem Standard [[IEEE 754]] kodiert.&lt;br /&gt;
&lt;br /&gt;
== Datentypen ==&lt;br /&gt;
&lt;br /&gt;
=== Basisdatentypen ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Name !! Repräsentation !! Erläuterungen&lt;br /&gt;
|-&lt;br /&gt;
| integer || 32 bit Zweierkomplement ||&lt;br /&gt;
|-&lt;br /&gt;
| unsigned integer || 32-Bit-Ganzzahl ||&lt;br /&gt;
|-&lt;br /&gt;
| hyper || 64 bit Zweierkomplement ||&lt;br /&gt;
|-&lt;br /&gt;
| unsigned hyper || 64-Bit-Ganzzahl ||&lt;br /&gt;
|-&lt;br /&gt;
| enumeration || 32 Bit Ganzzahl&lt;br /&gt;
|-&lt;br /&gt;
| bool || 32 Bit Ganzzahl || 0=false, 1=true&lt;br /&gt;
|-&lt;br /&gt;
| float || 32 Bit IEEE Gleitkommazahl ||&lt;br /&gt;
|-&lt;br /&gt;
| double || 64 Bit IEEE Gleitkommazahl ||&lt;br /&gt;
|-&lt;br /&gt;
| quadruple || 128 Bit IEEE Gleitkommazahl ||&lt;br /&gt;
|-&lt;br /&gt;
| opaque[n] || Binärdaten der Länge &amp;#039;&amp;#039;n&amp;#039;&amp;#039; Oktette || ggf. mit Padding, falls Länge kein Vielfaches von 4&amp;amp;nbsp;Byte&lt;br /&gt;
|-&lt;br /&gt;
| opaque&amp;lt;n&amp;gt; || 32-bit Längenfeld, gefolgt von Binärdaten mit angegebener Länge || ggf. mit Padding, falls Länge kein Vielfaches von 4&amp;amp;nbsp;Byte&lt;br /&gt;
|-&lt;br /&gt;
| string&amp;lt;n&amp;gt; || 32 Bit Längenfeld, gefolgt von einem ASCII-String || ggf. mit Padding, falls Länge kein Vielfaches von 4&amp;amp;nbsp;Byte. Wenn die Längenangabe weggelassen wird, gilt eine Maximallänge von 2&amp;lt;sup&amp;gt;32&amp;lt;/sup&amp;gt;−1&lt;br /&gt;
|-&lt;br /&gt;
| void || – || Leerer Datentyp, der keinen Speicherplatz beansprucht&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Zusammengesetzte Datentypen ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Name !! Syntax !! Repräsentation !! Erläuterungen&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;fixed-length array&amp;#039;&amp;#039; || &amp;#039;&amp;#039;datatype&amp;#039;&amp;#039; &amp;#039;&amp;#039;identifier&amp;#039;&amp;#039;&amp;lt;code&amp;gt;[&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;n&amp;#039;&amp;#039;&amp;lt;code&amp;gt;]&amp;lt;/code&amp;gt; || &amp;#039;&amp;#039;n&amp;#039;&amp;#039; Elemente von &amp;#039;&amp;#039;datatype&amp;#039;&amp;#039; hintereinander&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;variable-length array&amp;#039;&amp;#039; || &amp;#039;&amp;#039;datatype&amp;#039;&amp;#039; &amp;#039;&amp;#039;identifier&amp;#039;&amp;#039;&amp;lt;code&amp;gt;&amp;amp;lt;&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;n&amp;#039;&amp;#039;&amp;lt;code&amp;gt;&amp;amp;gt;&amp;lt;/code&amp;gt; || 32-Bit Längenfeld, gefolgt von max. &amp;#039;&amp;#039;n&amp;#039;&amp;#039; Elementen || Wenn n fehlt, gilt n=2&amp;lt;sup&amp;gt;32&amp;lt;/sup&amp;gt;-1&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;structure&amp;#039;&amp;#039; || &amp;lt;code&amp;gt;struct{ &amp;lt;/code&amp;gt;&amp;#039;&amp;#039;type1 identifier1&amp;#039;&amp;#039;&amp;lt;code&amp;gt;; &amp;lt;/code&amp;gt;… &amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt; || Die Komponenten der Datenstruktur in der Reihenfolge ihrer Deklaration&lt;br /&gt;
|-&lt;br /&gt;
| discriminated union ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Sonstige Datentypen ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Name !! Syntax !! Repräsentation !! Erläuterungen&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;optional-data&amp;#039;&amp;#039; || &amp;#039;&amp;#039;datatype&amp;#039;&amp;#039; &amp;lt;code&amp;gt;*&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;identifier&amp;#039;&amp;#039; || Wird gespeichert wie eine &amp;#039;&amp;#039;discriminated union&amp;#039;&amp;#039; mit einem boolean, gefolgt von dem Datenfeld, falls der Boole’sche Wert &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; ist.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
* [[Remote Procedure Call]]&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
* [http://www.cdk3.net/ipc/Ed2/SunXDR.pdf Ein kurzer Abstract zum SUN XDR.] (PDF; 15 kB) cdk3.net (englisch).&lt;br /&gt;
&lt;br /&gt;
== Einzelnachweise ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Netzwerkprotokoll]]&lt;/div&gt;</summary>
		<author><name>imported&gt;PerfektesChaos</name></author>
	</entry>
</feed>