Windows Azure Cloud Storage ermöglicht es Ihnen bereits ab 0,10€ pro GB/Monat die Vorteile der Cloud zu nutzen.
Willkommen bei dotnet-snippets.de! Snippet hinzufügen Login Registrieren
Snippets in der Datenbank: 1550 | Anzahl registrierter User: 1840 | Besucher online: 131
Hauptmenü
Home
Top Ten
Zufälliger Snippet
FAQs
.NET Community
dotnet-forum.de
dotnet-kicks.de
Social

RSS Feeds
Rss Alle Snippets
Rss C#
Rss VB.NET
Rss C++
Rss ASP.NET
Partner
Member of Microsoft Community Leader/Insider Program (CLIP)

Quoted Printable Encoder


Autor: Gast
Sprache: C#
Bewertung: 7,4
(1 Bewertung)
Anzahl der Aufrufe: 9894
  
Kick it on dotnet-kicks.de  

Beschreibung:

Zeichenketten, die mit "quoted printable" enkodiert werden sollen, lassen einen .Net-Entwickler schon das ein oder andere graue Haar wachsen. Denn in der BCL gibt es keine Standard-Mechanismen dafür - zumindest konnte ich keine Finden, die in C# zur Verfügung stand. Deshalb habe ich eine Klasse geschrieben, die den Vorgang des Enkodierens eines Textes in "quoted printable" übernimmt.

Abgelegt unter: C#, quoted printable, qp, Encoding, Enkodierung, ASCII, 7 Bit.



C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
public class QuotedPrintableConverter
    {
        private static string _Ascii7BitSigns;
        private const string _equalsSign = "=";
        private const string _defaultReplaceEqualSign = "=";
        
        /// <summary>
        /// Ctor.
        /// </summary>
        private QuotedPrintableConverter()
        {
            //do nothing
        }

        /// <summary>
        /// Encodes a not QP-Encoded string.
        /// </summary>
        /// <param name="value">The string which should be encoded.</param>
        /// <returns>The encoded string</returns>
        public static string Encode(string value)
        {
            return Encode(value, _defaultReplaceEqualSign);
        }

        /// <summary>
        /// Encodes a not QP-Encoded string.
        /// </summary>
        /// <param name="value">The string which should be encoded.</param>
        /// <param name="replaceEqualSign">The sign which should replace the "="-sign in front of 
        /// each QP-encoded sign.</param>
        /// <returns>The encoded string</returns>
        public static string Encode(string value, string replaceEqualSign)
        {
            //Alle nicht im Ascii-Zeichnsatz enthaltenen Zeichen werden ersetzt durch die hexadezimale 
            //Darstellung mit einem vorangestellten =
            //Bsp.: aus "ü" wird "=FC"
            //Bsp. mit Ersetzungszeichen "%"für das "=": aus "ü" wird "%FC"

            GetAllowedAsciiSigns();
            StringBuilder sb = new StringBuilder();
            foreach (char s in value)
            {
                if (_Ascii7BitSigns.LastIndexOf(s) > -1)
                    sb.Append(s);
                else
                {

                    string qp = string.Format("{0}{1}",
                        _equalsSign,
                        System.Convert.ToString(s, 16)).Replace(_equalsSign, replaceEqualSign);
                    sb.Append(qp);
                }
            }

            return sb.ToString();
        }

        /// <summary>
        /// Gets a string which contains the first 128-characters (ANSII 7 bit).
        /// </summary>
        private static void GetAllowedAsciiSigns()
        {
            StringBuilder sb = new StringBuilder();
            for (int i = 0; i < 127; i++)
            {
                sb.Append(System.Convert.ToChar(i));
            }
            _Ascii7BitSigns = sb.ToString();
        }
    }
Sie haben Fragen zu diesem Snippet oder brauchen Hilfe bei der .NET Entwicklung?
Freundliche und kompetente Entwickler helfen Ihnen gern weiter im Forum für .NET Entwicklung.



Kommentare:
(Zum Schreiben von Kommentaren bitte anmelden.)



Diese Snippets könnten für Sie interessant sein:
[C#] Ein kleiner Konsolen Taschenrechner
[C#] Prüft Zeitformat auf 24 Stunden
[C#] Datei/Ordner durch Erweiterungsmethoden abfragen
[C#] GetCharts
[C#] XML in DataTable laden
[C#] Generische Between Methode
[ASP.net] Formularelement fokusieren auf Ajax Seiten
[C#] Quadratwurzel ziehen
[C#] Cast to Enum
[C#] ASP.NET: Metatags und Titel zur Laufzeit setzen
[C#] Aufrufenden Typ identifizieren
[C#] Kaufmännisches Runden in Decimal
[C#] WMI Getter
[C#] Sql Server Instanzen finden
[C#] WPF: Image aus dem Web in Image-Element anzeigen
[C#] URL auslesen
[C#] User-Verwaltung in eine ASP.NET Website einbauen
[C#] GUID des aktuellen Assembly ermitteln
[C#] Windows Forms Anwendungs-Sessions verwalten
[C#] User-Management für WPF Smart Client Anwendung
[C#] Silverlight Anwendung erstellen
[C#] User-Verwaltung in eine WinForm einbauen
[C#] Java WebService aus einem WinForms-Client aufrufen
[C#] C# Ist ein POINT zwischen ... und ...
[C#] NumTextBox (Kurzversion)
[C#] Another Bin-Watch (Console)
[C#] SystemIconsImageListWrapper
[C#] WatchedList
[C#] Datenbankverbindung herstellen
[C#] Einfache Ini Klasse
[C#] Youtube Download Klasse für C#
[C#] InputBox WPF C#
[C#] C# Ordner auslesen und in Liste speichern "rekursiv"
[C#] C# XOR Crypt
[C#] XML Encoding eines XmlDocument ändern
[C#] UrlDecode
[C#] Generisch XML De-/ Serialisieren
[C#] Mit Silverlight Videos auf einer Webseite anzeigen
[C#] Hexcode eines Strings ausgeben
[C#] Encode To ASCII - Buchstaben in Ascii-Werte umwandeln
[C#] string in Hex wandeln
[C#] ist ein Char ein druckbares Zeichen?
[C#] ASCII to Hex
[C#] Bitmap to ASCII-Art
[C#] String to char Tarnung

schlecht sehr gut
1 2 3 4 5 6 7 8 9 10
Nur angemeldete User können Snippets bewerten.