C#에서 문자열을 16진수로 변환하는 메서드 예제 자료입니다. 입력한 문자열을 UTF8 인코딩으로 바이트 배열을 구하고, 배열을 반복하여 ToString(string format) 메서드에 X2로 형식을 지정하여 16진수로 변환합니다. UTF8인코딩이며, ToString("X2")로 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);
}