<?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[Datei in Text konviertieren]]></title><description><![CDATA[<p>Abend <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>
<p>ich würde gerne eine Datei in einen Text umwandeln, und dann wieder zurück.</p>
<p>Als Beispiel würde die Datei test.jpg dann der String &quot;01010101000001110101010 Sein :)&quot; ist das Möglich?</p>
<pre><code class="language-cpp">#include &lt;windows.h&gt;
#include &lt;iostream&gt;
#include &lt;fstream&gt;

int main() {
    // Datei öffnen
    HANDLE hFile = CreateFile(TEXT(&quot;1.mp3&quot;), GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
    if(hFile == INVALID_HANDLE_VALUE) {
        std::cout &lt;&lt; &quot;Datei konnte nicht geöffnet werden!&quot; &lt;&lt; std::endl;
        return EXIT_FAILURE;
    }

    // Dateigröße ermitteln
    DWORD dwFileSize = GetFileSize(hFile, NULL);

    // Speicher für Buffer reservieren
    LPTSTR pszBuffer = new TCHAR[dwFileSize + 1];

    // Datei auslesen
    DWORD dwBytesRead = 0;
    ReadFile(hFile, pszBuffer, dwFileSize, &amp;dwBytesRead, NULL);
    pszBuffer[dwBytesRead] = '\0';

    // Datei schließen
    CloseHandle(hFile);

    // Neue Datei schreiben
    DWORD dwBytesWritten = 0;
    HANDLE hNewFile = CreateFile(TEXT(&quot;2.mp3&quot;), GENERIC_WRITE, FILE_SHARE_READ, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
    WriteFile(hNewFile, pszBuffer, dwBytesRead, &amp;dwBytesWritten, NULL);
    CloseHandle(hNewFile);

    // Buffer freigeben
    delete[] pszBuffer;

    return EXIT_SUCCESS;
}
</code></pre>
<p>Hiermit kopiere ich eine Datei. Das ist mir bewusst, ist auch gar nicht schwer.<br />
Nur wie kann ich jetzt den Buffer in einen String konvertieren?</p>
<p>Wenn ich mir pszBuffer ausgeben lasse erhalte ich</p>
<pre><code>ÿØÿà
</code></pre>
<p>Also die ersten lesbaren Zeichen der Datei welche diese als JPEG-Bild identifizieren. Aber ich möchte ja alle Daten in einen String umwandeln, welchen ich beliebig über z.B. ein Kontaktformular weitergeben kann, welcher dann auch wieder dekodiert werden kann <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/topic/187024/datei-in-text-konviertieren</link><generator>RSS for Node</generator><lastBuildDate>Sun, 16 Aug 2026 16:52:26 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/187024.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 14 Jul 2007 19:11:01 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Datei in Text konviertieren on Sat, 14 Jul 2007 19:11:01 GMT]]></title><description><![CDATA[<p>Abend <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>
<p>ich würde gerne eine Datei in einen Text umwandeln, und dann wieder zurück.</p>
<p>Als Beispiel würde die Datei test.jpg dann der String &quot;01010101000001110101010 Sein :)&quot; ist das Möglich?</p>
<pre><code class="language-cpp">#include &lt;windows.h&gt;
#include &lt;iostream&gt;
#include &lt;fstream&gt;

int main() {
    // Datei öffnen
    HANDLE hFile = CreateFile(TEXT(&quot;1.mp3&quot;), GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
    if(hFile == INVALID_HANDLE_VALUE) {
        std::cout &lt;&lt; &quot;Datei konnte nicht geöffnet werden!&quot; &lt;&lt; std::endl;
        return EXIT_FAILURE;
    }

    // Dateigröße ermitteln
    DWORD dwFileSize = GetFileSize(hFile, NULL);

    // Speicher für Buffer reservieren
    LPTSTR pszBuffer = new TCHAR[dwFileSize + 1];

    // Datei auslesen
    DWORD dwBytesRead = 0;
    ReadFile(hFile, pszBuffer, dwFileSize, &amp;dwBytesRead, NULL);
    pszBuffer[dwBytesRead] = '\0';

    // Datei schließen
    CloseHandle(hFile);

    // Neue Datei schreiben
    DWORD dwBytesWritten = 0;
    HANDLE hNewFile = CreateFile(TEXT(&quot;2.mp3&quot;), GENERIC_WRITE, FILE_SHARE_READ, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
    WriteFile(hNewFile, pszBuffer, dwBytesRead, &amp;dwBytesWritten, NULL);
    CloseHandle(hNewFile);

    // Buffer freigeben
    delete[] pszBuffer;

    return EXIT_SUCCESS;
}
</code></pre>
<p>Hiermit kopiere ich eine Datei. Das ist mir bewusst, ist auch gar nicht schwer.<br />
Nur wie kann ich jetzt den Buffer in einen String konvertieren?</p>
<p>Wenn ich mir pszBuffer ausgeben lasse erhalte ich</p>
<pre><code>ÿØÿà
</code></pre>
<p>Also die ersten lesbaren Zeichen der Datei welche diese als JPEG-Bild identifizieren. Aber ich möchte ja alle Daten in einen String umwandeln, welchen ich beliebig über z.B. ein Kontaktformular weitergeben kann, welcher dann auch wieder dekodiert werden kann <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/1325486</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1325486</guid><dc:creator><![CDATA[Stocki07]]></dc:creator><pubDate>Sat, 14 Jul 2007 19:11:01 GMT</pubDate></item><item><title><![CDATA[Reply to Datei in Text konviertieren on Sat, 14 Jul 2007 20:49:28 GMT]]></title><description><![CDATA[<p>Aber das was du da erhälst ist doch der String.</p>
<p>Ich glaub beim Konvertieren fasst er immer 8 Bits zu einem Byte zusammen für ein Char und da kommen dann die entsprechenden Zeichen aus der Ansitabelle raus.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1325537</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1325537</guid><dc:creator><![CDATA[Tobi3000]]></dc:creator><pubDate>Sat, 14 Jul 2007 20:49:28 GMT</pubDate></item><item><title><![CDATA[Reply to Datei in Text konviertieren on Sat, 14 Jul 2007 20:51:25 GMT]]></title><description><![CDATA[<p>Die Daten liegen in Binärer Form vor, deshalb musst du über einen Zwischenschritt die Daten in lesbare Zeichen umwandeln. Hier kannst du zum Beispiel Base64 verwenden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1325540</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1325540</guid><dc:creator><![CDATA[Filbert]]></dc:creator><pubDate>Sat, 14 Jul 2007 20:51:25 GMT</pubDate></item></channel></rss>