<?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[Byte Buffer in HEx darstellen mit Streams?]]></title><description><![CDATA[<p>Hallo<br />
Ich müsste einen Byte Buffer als Hex darstellen und wollte fragen ob es da vielleicht eine elegante Möglichkeit gibt (vielleicht mit streams).<br />
Die Fortmatierung müsste also so passieren dass ein Buffer mit<br />
0x34 0xA4, ...<br />
in ASCII umgewandelt wird in:<br />
0x33 0x34 0x41 0x34<br />
um dann 34 41 darzustellen.</p>
<p>mit zahlen und stringstreams geht das ja ganz einfach wie z.B.<br />
std::ostringstream strstm;<br />
unsigned char ucNumber = 123;<br />
strstm &lt;&lt; &quot;0x&quot; &lt;&lt; hex &lt;&lt; setfill('0') &lt;&lt; setw(8) &lt;&lt; ucNumber;<br />
Die Ausgabe mit strstm.str().c_str() gibt dann:<br />
0x0000007B</p>
<p>Aber mit Byte Buffer? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /><br />
(händisch das zu zertröseln und dazustellen ist ja kein Problem aber so in 1-2 Zeilen?)</p>
<p>Danke schon mal</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/162025/byte-buffer-in-hex-darstellen-mit-streams</link><generator>RSS for Node</generator><lastBuildDate>Sat, 12 Sep 2026 01:26:18 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/162025.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 13 Oct 2006 15:38:34 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Byte Buffer in HEx darstellen mit Streams? on Fri, 13 Oct 2006 15:38:34 GMT]]></title><description><![CDATA[<p>Hallo<br />
Ich müsste einen Byte Buffer als Hex darstellen und wollte fragen ob es da vielleicht eine elegante Möglichkeit gibt (vielleicht mit streams).<br />
Die Fortmatierung müsste also so passieren dass ein Buffer mit<br />
0x34 0xA4, ...<br />
in ASCII umgewandelt wird in:<br />
0x33 0x34 0x41 0x34<br />
um dann 34 41 darzustellen.</p>
<p>mit zahlen und stringstreams geht das ja ganz einfach wie z.B.<br />
std::ostringstream strstm;<br />
unsigned char ucNumber = 123;<br />
strstm &lt;&lt; &quot;0x&quot; &lt;&lt; hex &lt;&lt; setfill('0') &lt;&lt; setw(8) &lt;&lt; ucNumber;<br />
Die Ausgabe mit strstm.str().c_str() gibt dann:<br />
0x0000007B</p>
<p>Aber mit Byte Buffer? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /><br />
(händisch das zu zertröseln und dazustellen ist ja kein Problem aber so in 1-2 Zeilen?)</p>
<p>Danke schon mal</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1154243</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1154243</guid><dc:creator><![CDATA[ac2806]]></dc:creator><pubDate>Fri, 13 Oct 2006 15:38:34 GMT</pubDate></item><item><title><![CDATA[Reply to Byte Buffer in HEx darstellen mit Streams? on Fri, 13 Oct 2006 16:06:04 GMT]]></title><description><![CDATA[<p>setz die ausgabe auf hex, dann nimmst du copy(buffer.begin(), buffer.end(), ostream_iterator&lt;char&gt;(deinoutputstream));</p>
<p>Syntax ist jetzt nicht hunderprozent korrekt, aber copy einem ostream_iterator als Ziel ist der einfache Weg.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1154265</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1154265</guid><dc:creator><![CDATA[lolz]]></dc:creator><pubDate>Fri, 13 Oct 2006 16:06:04 GMT</pubDate></item><item><title><![CDATA[Reply to Byte Buffer in HEx darstellen mit Streams? on Fri, 13 Oct 2006 20:59:58 GMT]]></title><description><![CDATA[<p>Mit copy und ostream_iterator geht's, wenn man aus dem Byte auch eine Zahl machst. Also etwa so:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;iterator&gt;

struct ByteToHex
{
    ByteToHex( char c ) : m_c( c ) {} // implizite Konvertierung zulassen
    unsigned char m_c; // unsigned ist wichtig
};
std::ostream&amp; operator&lt;&lt;( std::ostream&amp; out, const ByteToHex&amp; bth )
{
    return out &lt;&lt; unsigned( bth.m_c ); // evt. Formatierung hinzufügen
}

int main()
{
    using namespace std;
    char Bytes[] = &quot;Text and more \n\t\a&quot;; // ein Byte-Buffer
    copy( Bytes, Bytes + sizeof(Bytes), ostream_iterator&lt; ByteToHex &gt;( cout &lt;&lt; hex &lt;&lt; showbase, &quot; &quot; ) );
    cout &lt;&lt; endl;
}
</code></pre>
<p>Ich unterstelle mal, Du meinst mit ByteBuffer etwas in der Art von char[] oder unsigned char[].</p>
<p>Gruß<br />
Werner</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1154369</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1154369</guid><dc:creator><![CDATA[Werner Salomon]]></dc:creator><pubDate>Fri, 13 Oct 2006 20:59:58 GMT</pubDate></item></channel></rss>