본문 바로가기
C#/C# Common

string - byte array

by doublerabbits 2022. 9. 9.
using System;
using System.IO;
using System.Text;

namespace String_Byte
{
    class Program
    {
        static void DisplayBytes(byte[] bytes, bool nextLine = true)
        {
            foreach (byte b in bytes)
            {
                Console.Write($"{b:X2} ");
            }
            if (nextLine)
            {
                Console.WriteLine();
            }
        }

        static void EncodingDefault()
        {
            string caseString = "Case 1 - Encoding.Default";

            byte[] bytes = Encoding.Default.GetBytes(caseString);
            Console.Write("Bytes(Hex) : ");
            DisplayBytes(bytes);

            string str = Encoding.Default.GetString(bytes);
            Console.WriteLine($"string : {str}");
            Console.WriteLine();
        }

        static string BytesToString(byte[] bytes)
        {
            using (MemoryStream stream = new MemoryStream(bytes))
            {
                using (StreamReader streamReader = new StreamReader(stream))
                {
                    return streamReader.ReadToEnd();
                }
            }
        }

        static void EncodingASCII()
        {
            string caseString = "Case 2 - Encoding.ASCII";

            byte[] bytes = Encoding.ASCII.GetBytes(caseString);
            Console.Write("Bytes(Hex) : ");
            DisplayBytes(bytes);

            string str = BytesToString(bytes);
            Console.WriteLine($"string : {str}");
            Console.WriteLine();
        }

        static void Main(string[] args)
        {
            EncodingDefault();
            EncodingASCII();

            Console.ReadKey();
        }

    }
}

 

 

'C# > C# Common' 카테고리의 다른 글

키보드 보조키 상태 확인  (0) 2023.01.30
Tuple (함수 반환값 여러개 사용하기)  (0) 2022.10.09
프로세스 찾기  (0) 2022.09.09
스크린 정보  (0) 2022.09.09
Reflection  (0) 2022.09.06