Feedback

C# - string to bytearray - bytearray to string

Veröffentlicht von am 14.07.2016
(1 Bewertungen)
Konvertiert einen string in ein byte[] oder ein byte[] in einen string. Es gibt jeweils eine Überladung. Wird kein Encoding angegeben, dann wird Encoding.Default verwendet.
 /// <summary>
        /// converts string to byte[]
        /// </summary>
        /// <param name="str">string (default encoding)</param>
        /// <returns>byte[] from string</returns>
        public static byte[] StringToByteArray(string str)
        {
            return StringToByteArray(str,Encoding.Default);
        }
        /// <summary>
        /// converts string to byte[]
        /// </summary>
        /// <param name="str">string</param>
        /// <param name="encoding">Encoding</param>
        /// <returns>byte[] from string</returns>
        public static byte[] StringToByteArray(string str, Encoding encoding)
        {
            return encoding.GetBytes(str);
        }
        /// <summary>
        /// converts  byte[] to string
        /// </summary>
        /// <param name="arr">byte[]</param>
        /// <returns>string from byte[] (default encoding)</returns>
        public static string ByteArrayToString(byte[] arr)
        {
            return ByteArrayToString(arr, Encoding.Default);
        }
        /// <summary>
        /// converts  byte[] to string
        /// </summary>
        /// <param name="arr">byte[]</param>
        /// <param name="encoding">Encoding</param>
        /// <returns>string from byte[]</returns>
        public static string ByteArrayToString(byte[] arr, Encoding encoding)
        {
            return encoding.GetString(arr);
        }

4 Kommentare zum Snippet

Koopakiller schrieb am 15.07.2016:
Und warum nicht direkt Encoding.Default.GetBytes(...) o.ä. aufrufen?
Dein Code abstrahiert zwar den Aufruf, sehe hier aber bisher keinen Vorteil darin.
Martin Dauskardt schrieb am 15.07.2016:
Weil Anfänger oft über die Codierung stolpern (bspw. Sonderzeichen/Ascii).
Man sollte natürlich wissen, wie die Bytes codiert sind. Wer mit default codiert und ausliest ist in den meisten Fällen schon gut beraten, aber nicht jeder weiß das oder denkt immer daran. Deshalb das Snippet. Es stellt sicher, dass wenn man sich nicht sicher ist, die default-codierung verwendet wird. Wie gesagt, alles mit dem Fokus auf die Anfänger.
Koopakiller schrieb am 16.07.2016:
Ok, mit Bezug auf Anfänger macht das Sinn. Ich hoffe das einige früher oder später auch hinterfragen was dahinter steckt :)
Martin Dauskardt schrieb am 17.07.2016:
Hier z.B. könnte er mit seiner Recherche beginnen: https://www.w3.org/International/questions/qa-what-is-encoding.de :)
 

Logge dich ein, um hier zu kommentieren!