<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Mit Binärdaten arbeiten (input&#x2F;output)]]></title><description><![CDATA[<p>Ich frage mich, wie man möglichst effizient arbeitet, wenn man eine Menge von Binärdaten verwalten muss, die Streams lesen ja char Arrays ein und ich finde diese nicht besonders elegant um mit Binrädaten zu arbeiten. Klar geht es um die hex repräsentation, aber irgendwie hab ich da noch keinen Draht zu gefunden.</p>
<p>Was ist vor allem, wenn Zahlen aus einem und in ein Binärformat schreiben muss? Dazu kommt noch das Problem des Little-/Big-Endian.</p>
<p>Gibt es ne vernünftige Bibliothek, die einem das Werkeln mit Binärdaten erleichtert?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/219370/mit-binärdaten-arbeiten-input-output</link><generator>RSS for Node</generator><lastBuildDate>Sat, 03 Oct 2026 12:53:11 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/219370.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 02 Aug 2008 07:51:38 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Mit Binärdaten arbeiten (input&#x2F;output) on Sat, 02 Aug 2008 07:51:38 GMT]]></title><description><![CDATA[<p>Ich frage mich, wie man möglichst effizient arbeitet, wenn man eine Menge von Binärdaten verwalten muss, die Streams lesen ja char Arrays ein und ich finde diese nicht besonders elegant um mit Binrädaten zu arbeiten. Klar geht es um die hex repräsentation, aber irgendwie hab ich da noch keinen Draht zu gefunden.</p>
<p>Was ist vor allem, wenn Zahlen aus einem und in ein Binärformat schreiben muss? Dazu kommt noch das Problem des Little-/Big-Endian.</p>
<p>Gibt es ne vernünftige Bibliothek, die einem das Werkeln mit Binärdaten erleichtert?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1557908</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1557908</guid><dc:creator><![CDATA[Seikilos]]></dc:creator><pubDate>Sat, 02 Aug 2008 07:51:38 GMT</pubDate></item><item><title><![CDATA[Reply to Mit Binärdaten arbeiten (input&#x2F;output) on Sat, 02 Aug 2008 07:57:40 GMT]]></title><description><![CDATA[<p>Seikilos schrieb:</p>
<blockquote>
<p>Gibt es ne vernünftige Bibliothek, die einem das Werkeln mit Binärdaten erleichtert?</p>
</blockquote>
<p>wenn du was spezielles suchst bestimmt. es wird aber schwierig sein etwas sehr allgemein gehaltenes, so wie du es hier beschreibst, zu finden. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1557910</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1557910</guid><dc:creator><![CDATA[sothis_]]></dc:creator><pubDate>Sat, 02 Aug 2008 07:57:40 GMT</pubDate></item><item><title><![CDATA[Reply to Mit Binärdaten arbeiten (input&#x2F;output) on Sat, 02 Aug 2008 08:15:45 GMT]]></title><description><![CDATA[<p>Was gibt es denn im speziellen? Mich interessieren Libs, die mir halt ermöglichen Daten im Binärformat abzulegen, ohne die interpretation dieser</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1557918</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1557918</guid><dc:creator><![CDATA[Seikilos]]></dc:creator><pubDate>Sat, 02 Aug 2008 08:15:45 GMT</pubDate></item><item><title><![CDATA[Reply to Mit Binärdaten arbeiten (input&#x2F;output) on Sat, 02 Aug 2008 08:23:55 GMT]]></title><description><![CDATA[<p>Seikilos schrieb:</p>
<blockquote>
<p>Was gibt es denn im speziellen? Mich interessieren Libs, die mir halt ermöglichen Daten im Binärformat abzulegen, ohne die interpretation dieser</p>
</blockquote>
<p>sqlite ist zum beispiel eine einfache möglichkeit daten in einer datei zu speichern. da liegt der vorteil aber eben bei der platformunabhängigkeit und integrität als bei der performance. das muss man für sich selbst abwägen. wenn performance wichtig ist, kommst du um ein auf die anwendung zugeschnittenes format nicht herum <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1557920</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1557920</guid><dc:creator><![CDATA[sothis_]]></dc:creator><pubDate>Sat, 02 Aug 2008 08:23:55 GMT</pubDate></item><item><title><![CDATA[Reply to Mit Binärdaten arbeiten (input&#x2F;output) on Sat, 02 Aug 2008 08:24:42 GMT]]></title><description><![CDATA[<p>Ja, aber es schreibt nicht in das von mir kontrollierte Format. Ich meinte so etwas wie in Datei xy die ersten 100 Bytes von meinem byte[] foo schreiben</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1557921</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1557921</guid><dc:creator><![CDATA[Seikilos]]></dc:creator><pubDate>Sat, 02 Aug 2008 08:24:42 GMT</pubDate></item><item><title><![CDATA[Reply to Mit Binärdaten arbeiten (input&#x2F;output) on Sat, 02 Aug 2008 08:28:02 GMT]]></title><description><![CDATA[<p>ich bitte dich, dafür brauchts ja nun wirklich nicht einer externen bibliothek. das sind 4 zeilen code, wenn überhaupt. auch endian-awareness ist mit einem einzeiler erledigt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1557923</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1557923</guid><dc:creator><![CDATA[sothis_]]></dc:creator><pubDate>Sat, 02 Aug 2008 08:28:02 GMT</pubDate></item><item><title><![CDATA[Reply to Mit Binärdaten arbeiten (input&#x2F;output) on Sat, 02 Aug 2008 08:42:21 GMT]]></title><description><![CDATA[<p>sothis_ schrieb:</p>
<blockquote>
<p>auch endian-awareness ist mit einem einzeiler erledigt.</p>
</blockquote>
<p>Wie machst du das?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1557933</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1557933</guid><dc:creator><![CDATA[asdfhg]]></dc:creator><pubDate>Sat, 02 Aug 2008 08:42:21 GMT</pubDate></item><item><title><![CDATA[Reply to Mit Binärdaten arbeiten (input&#x2F;output) on Sat, 02 Aug 2008 08:53:38 GMT]]></title><description><![CDATA[<p>Du kannst ja auch die Standard-Filestreams mit dem Flag <code>std::ios::binary</code> bearbeiten.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1557935</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1557935</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Sat, 02 Aug 2008 08:53:38 GMT</pubDate></item><item><title><![CDATA[Reply to Mit Binärdaten arbeiten (input&#x2F;output) on Sat, 02 Aug 2008 09:44:09 GMT]]></title><description><![CDATA[<p>asdfhg schrieb:</p>
<blockquote>
<p>sothis_ schrieb:</p>
<blockquote>
<p>auch endian-awareness ist mit einem einzeiler erledigt.</p>
</blockquote>
<p>Wie machst du das?</p>
</blockquote>
<p>häufig mit einem dieser macros:</p>
<pre><code class="language-cpp">#define _SWAB16(val) asm(&quot;ror $8, %%ax&quot;:&quot;=a&quot;(val):&quot;a&quot; (val))
#define _SWAB32(val) asm(&quot;bswap %%eax&quot;:&quot;=a&quot;(val):&quot;a&quot; (val))
#define _SWAB64(val) asm(&quot;bswap %%rax&quot;:&quot;=a&quot;(val):&quot;a&quot; (val))
#define _SWAB64_32(val)  asm(&quot;bswap %%eax\nbswap %%ebx\nmovl %%eax, %0\nmovl %%ebx, 4+%0\n&quot;:&quot;=o&quot;(val):&quot;b&quot;(val&amp;0xFFFFFFFF),&quot;a&quot;(val&gt;&gt;32))
</code></pre>
<p>das wie auch immer ist gcc inlineassembler, eine cl-variante ist aber auch schnell geschrieben.<br />
das format in dem gespeichert wird sollte einheitlich sein, das programm sollte dann, je nachdem auf welcher architektur es läuft, die interpretation der daten übernehmen (ähnlich wie man es mit der network byte-order gelöst hat). <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1557954</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1557954</guid><dc:creator><![CDATA[sothis_]]></dc:creator><pubDate>Sat, 02 Aug 2008 09:44:09 GMT</pubDate></item><item><title><![CDATA[Reply to Mit Binärdaten arbeiten (input&#x2F;output) on Thu, 02 Oct 2008 20:05:44 GMT]]></title><description><![CDATA[<p>Ich krame es mal wieder aus.</p>
<p>Wie lese ich beispielsweise 8 Bytes binär aus einer Datei und wandele diese in ein double um?</p>
<p>(Außer mittels cin &gt;&gt; double_type;)</p>
<p>Die Frage stellt sich mir, weil ich evtl ja auch nur 7 Bytes in ein double packen will, falls ich die Spezifikation habe: Doubles sind signed 56 Bit lang, wenn ich da cin &gt;&gt; double_type lesen würde, würde da ja murks bei rumkommen, da ich ja dann die falsche Menge an bytes lesen würde</p>
<p>Das gleiche in Grün: Wie lese ich 2 Bytes als int ein</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1592480</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1592480</guid><dc:creator><![CDATA[Seikilos]]></dc:creator><pubDate>Thu, 02 Oct 2008 20:05:44 GMT</pubDate></item></channel></rss>