본문 바로가기

Programing (프로그래밍)/WPF & C# (C Sharp)

WPF & C# - ASCII2HEX / HEX2ASCII / String2HexFormat ( ASCII2HEX2ASCII )

728x90
반응형
 WPF & C# - ASCII2HEX / HEX2ASCII / String2HexFormat ( ASCII2HEX2ASCII )

 

HEX.zip
0.04MB
HEX.exe
0.01MB

 

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
private void tbx_TextChanged(object sender, TextChangedEventArgs e)
{
    if (rbtnHEX.IsChecked.Value)
    {
        tbx.Text = String2HexFormat(tbx.Text);
        tbx.SelectionStart = tbx.Text.Length;
    }
}
 
private void rbtnHEX_Checked(object sender, RoutedEventArgs e)
{
    tbx.Text = ASCII2HEX(tbx.Text);
}
 
private void rbtnHEX_Unchecked(object sender, RoutedEventArgs e)
{
    tbx.Text = HEX2ASCII(tbx.Text);
}
 
string HEX2ASCII(string str)
{
    str = str.Replace("-""");
    str = str.Replace(" """);
    byte[] raw = new byte[str.Length / 2];
    for (int i = 0; i < raw.Length; i++)
    {
        raw[i] = Convert.ToByte(str.Substring(i * 22), 16);
    }
    string s = Encoding.ASCII.GetString(raw);
    return s;
}
 
string ASCII2HEX(string str)
{
    byte[] buffer = Encoding.Default.GetBytes(str);
    StringBuilder sb = new StringBuilder();
    for (int i = 0; i < buffer.Length; i++)
        sb.AppendFormat("{0:X2} ", buffer[i]);
    str = BitConverter.ToString(buffer).Replace("-"" "+ " ";
    return str;
}
 
string String2HexFormat(string str)
{
    str = str.Replace("-""");
    str = str.Replace(" """);
    string val = "";
 
    for (int i = 0; i < str.Length / 2; i++)    // 2칸마다 빈칸 입력
    {
        val += str.Substring(i * 22+ " ";
    }
 
    if (str.Length % 2 == 1)
        val += str.Substring(str.Length - 11);
 
    val = val.TrimEnd();    // 삭제 시를 위한 부분
    return val;
}
cs

ASCII 에서 HEX 로 변환

HEX 에서 ASCII 로 변환

HEX 에서 문자열 수정 시 포멧 정렬

 

ASCII라디오버튼에 isChecked 함수를 넣어놨더니 tbx = NULL 이라고 에러가 뜨는 것이다.

그래서 HEX라디오버튼 으로 옮겼다.

 

728x90
반응형