[C#] 문자열을 16진수로 변환하는 방법 (convert string to hexadecimal)

C#에서 문자열을 16진수로 변환하는 메서드 예제 자료입니다. 입력한 문자열을 UTF8 인코딩으로 바이트 배열을 구하고, 배열을 반복하여 ToString(string format) 메서드에 X2로 형식을 지정하여 16진수로 변환합니다. UTF8인코딩이며, ToString("X2")로 16진수 문자열을 추출할 수 있다는 것을 이용하였습니다.

문자열을 16진수로 변환하기
public static string StrToHex(string _strData)
{
    var sb = new StringBuilder();
    byte[] bytes = Encoding.UTF8.GetBytes(_strData);
    foreach (var t in bytes)
    {
        sb.Append("%").Append(t.ToString("X2"));
    }
    string rtnVal = sb.ToString();
    return rtnVal;
}

다음은 문자열에서 16진수 변환 사용 예제입니다.

void BeomSang()
{
    string input = "범상입니다";
    string hex = StrToHex(input);
    //%EB%B2%94%EC%83%81%EC%9E%85%EB%8B%88%EB%8B%A4
    Debug.WriteLine(hex);
}

댓글