<?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[ASCII 2 Hex, wie verarbeite ich Daten aus WinSock ?]]></title><description><![CDATA[<p>Hiho,</p>
<p>mal angenommen ich habe den ganzen Socketkram hinter mir, alles funzt prima, ich kann Datenpackete senden und empfangen.</p>
<p>Jetzt empfang ich ein Datenpacket, sagen wir mal in diesem Format:</p>
<pre><code class="language-cpp">struct Packet {
	WORD size; // groesse
	BYTE data[1000]; // daten
};
</code></pre>
<p>sagen wir mal das Datenpacket sieht so aus: 05HALLO</p>
<p>Wie bekomme ich es jetzt aber so hin, dass er mit den ganzen Kram in Hex ausgibt, statt in &quot;Lautschrift&quot; bzw. ASCII (wenn das kein ASCII ist entschuldige ich mich, bin ja noch am Lernen).</p>
<p>Ich hab jetzt schon ne ganze menge Versucht, obs jetzt die Konvertierung von ASCII 2 Decimal 2 Hex ist, oder von ASCII per &quot;&gt;&gt; 4&quot; auf Decimal runter oder was auch immer, ich komm da nicht wirklich voran.</p>
<p>Anstatt dem 05HALLO soll er mit sozusagen 30 35 48 41 4C 4C 4F ausgeben.</p>
<p>Wer wagt dies zu bewerkstelligen?</p>
<p>Bin am Verzweifeln!</p>
<p>Außerdem würde ich gerne wissen, wie man dann beispielsweise nur die ersten 2 Bytesätze in eine eigene WORD Variable speichern kann. Da die ganzen Daten ja leider direkt als chars gespeichert werden, finde ich da keine passende Lösung. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
<p>MfG. paSe</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/221667/ascii-2-hex-wie-verarbeite-ich-daten-aus-winsock</link><generator>RSS for Node</generator><lastBuildDate>Mon, 13 Apr 2026 00:43:53 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/221667.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 01 Sep 2008 17:01:06 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to ASCII 2 Hex, wie verarbeite ich Daten aus WinSock ? on Mon, 01 Sep 2008 17:01:06 GMT]]></title><description><![CDATA[<p>Hiho,</p>
<p>mal angenommen ich habe den ganzen Socketkram hinter mir, alles funzt prima, ich kann Datenpackete senden und empfangen.</p>
<p>Jetzt empfang ich ein Datenpacket, sagen wir mal in diesem Format:</p>
<pre><code class="language-cpp">struct Packet {
	WORD size; // groesse
	BYTE data[1000]; // daten
};
</code></pre>
<p>sagen wir mal das Datenpacket sieht so aus: 05HALLO</p>
<p>Wie bekomme ich es jetzt aber so hin, dass er mit den ganzen Kram in Hex ausgibt, statt in &quot;Lautschrift&quot; bzw. ASCII (wenn das kein ASCII ist entschuldige ich mich, bin ja noch am Lernen).</p>
<p>Ich hab jetzt schon ne ganze menge Versucht, obs jetzt die Konvertierung von ASCII 2 Decimal 2 Hex ist, oder von ASCII per &quot;&gt;&gt; 4&quot; auf Decimal runter oder was auch immer, ich komm da nicht wirklich voran.</p>
<p>Anstatt dem 05HALLO soll er mit sozusagen 30 35 48 41 4C 4C 4F ausgeben.</p>
<p>Wer wagt dies zu bewerkstelligen?</p>
<p>Bin am Verzweifeln!</p>
<p>Außerdem würde ich gerne wissen, wie man dann beispielsweise nur die ersten 2 Bytesätze in eine eigene WORD Variable speichern kann. Da die ganzen Daten ja leider direkt als chars gespeichert werden, finde ich da keine passende Lösung. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
<p>MfG. paSe</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1574886</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1574886</guid><dc:creator><![CDATA[unlimieD.paSe]]></dc:creator><pubDate>Mon, 01 Sep 2008 17:01:06 GMT</pubDate></item><item><title><![CDATA[Reply to ASCII 2 Hex, wie verarbeite ich Daten aus WinSock ? on Mon, 01 Sep 2008 17:15:27 GMT]]></title><description><![CDATA[<p>was? du castest das nattüllich</p>
<pre><code class="language-cpp">struct Packet {
    WORD size; // groesse
    BYTE data[1000]; // daten
};

struct Packet send_packet;
...
send(s, (const char*)&amp;send_packet, bla, bla);
...
struct Packet recv_packet;
recv(s, (const char*)&amp;recv_packet, bla, bla);
</code></pre>
<p><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="😕"
    /> <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="😕"
    /> <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="😕"
    /> <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="😕"
    /> <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="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1574896</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1574896</guid><dc:creator><![CDATA[asdca]]></dc:creator><pubDate>Mon, 01 Sep 2008 17:15:27 GMT</pubDate></item><item><title><![CDATA[Reply to ASCII 2 Hex, wie verarbeite ich Daten aus WinSock ? on Mon, 01 Sep 2008 17:37:58 GMT]]></title><description><![CDATA[<p>Nee, da hast du mich glaub ich missverstanden.</p>
<p>Ich weiß jetzt auch endlich wo mein Problem liegt.</p>
<p>Beispiel:</p>
<pre><code class="language-cpp">char x = 0x0025;

cout&lt;&lt;hex&lt;&lt;(int)x;
</code></pre>
<p>Und was ist die Ausgabe? ICH erwarte da eigentlich</p>
<pre><code>2500
</code></pre>
<p>!</p>
<p>Was kommt?</p>
<pre><code>250
</code></pre>
<p>Das ist der Grund wieso meine Hexcodes immer so wirr und unvollständig aussahen.</p>
<p>Wie kann man das Problem umgehen, dass er mir die Nullen rauswirft?</p>
<p>Weil wenn ich jetzt nen längeres Packet bekomme.. sagen wir mal EIGENTLICH</p>
<pre><code>25 00 04 29 00
</code></pre>
<p>dann würde ja ja nur</p>
<pre><code>25 0 4 29 0
</code></pre>
<p>stehen ... das würde dann zusammengedrückt</p>
<pre><code>2504290
</code></pre>
<p>aussehen.</p>
<p>Wie soll ich da jetzt unterscheiden, ob das 2te jetzt 0x04 oder 0x0 und 0x04 ist?</p>
<p>Und eben noch als kleinen Reminder ;):</p>
<p>Ich hab meinen Buffer mit 2500 als ASCII drin.</p>
<p>Das wandel ich jetzt in Hex um und will das dann als WORD zusammenfassen.</p>
<p>Nur wie?</p>
<pre><code class="language-cpp">WORD packet;
char buffer[256];

buffer[0] = 0x25;
buffer[1] = 0x00;

cout&lt;&lt;hex&lt;&lt;(int)buffer[0]&lt;&lt;(int)buffer[1]; // gibt leider nur 250 statt 2500 aus (mein 1. problem)

cout&lt;&lt;endl;

packet = buffer[0] + buffer[1]; // funktioniert nicht so wie es soll

cout&lt;&lt;packet; // denn hier gibt er auch keine nullen aus
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1574910</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1574910</guid><dc:creator><![CDATA[unlimieD.paSe]]></dc:creator><pubDate>Mon, 01 Sep 2008 17:37:58 GMT</pubDate></item></channel></rss>