반응형

* C# String 을 이진수로 이진수를 String 으로 변환 예제...

 

 

- 사용한 컨트롤 : Button 2개, Label 2개, TextBox 1개

 

전체 소스 코드

Form1.cs

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace CSharp_StringTo2진수
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            if (textBox1.Text == "") return;
            //String To 2진수
            byte[] btBytes = UnicodeEncoding.Unicode.GetBytes(textBox1.Text );
            string strbinary = string.Empty;

            foreach (byte b in btBytes)
            {
                // byte를 2진수 문자열로 변경
                string strTmp = Convert.ToString(b, 2);
                strbinary += strTmp.PadLeft(8, '0');
            }

            label1.Text = strbinary; 
        }

        private void button2_Click(object sender, EventArgs e)
        {
            //2진수 To String
            if (label1.Text == "") return;

            int ibytes = label1.Text.Length  / 8;
            byte[] btOutBytes = new byte[ibytes];

            for (int i = 0; i < ibytes; i++)
            {
                // 8자리 숫자 즉 1바이트 문자열 얻기
                string strBin = label1.Text.Substring(i * 8, 8);
                // 2진수 문자열을 숫자로 변경
                btOutBytes[i] = (byte)Convert.ToInt32(strBin, 2);
            }

            // Unicode 인코딩으로 바이트를 문자열로
            string strResult = UnicodeEncoding.Unicode.GetString(btOutBytes);
            label2.Text = strResult;
        }
    }
}

 

 

* 예제 결과

 

반응형

+ Recent posts