필자는 필자가 필요로하는 작은 16 진수 뷰어를 작성하고 있습니다. 표준 Label 컨트롤은 문자열에 인쇄 할 수없는 문자가 표시되지 않습니다 경우 상황에 갇혀 :인쇄 할 수없는 문자를 표시합니다.
public string ToASCIIstring(int numColumns)
{
string ret = String.Empty;
int stringBegin = 0;
for (int i = 0; i < Data.Length; i++)
{
int colNum = i % numColumns;
if ((colNum + 1 == numColumns) || (i == Data.Length -1))
{
ret += Encoding.ASCII.GetString(Data, stringBegin, colNum);
stringBegin = i + 1;
ret += "\n";
}
}
return ret;
}
이 방법은 올바른 ASCII 문자열을 반환을하지만 Label.Text 속성에 할당 한 후 그냥 빈된다 문자열과 아무것도 표시되지 않습니다.
멋진 도움이 될만한 도움이 필요합니다.
P. 코드가 끔찍하다는 것을 압니다 만, 생산물을 보지 못할 것입니다. 그것은 내 자신의 분석 도구 일뿐입니다.
글쎄, 인쇄 할 수없는 문자는 인쇄 할 수 없습니다. ASCII 7과 같은 것들은 실제로 그것을 표현하기위한 문양이 없습니다. '.'표시를 시도하십시오. 대신. –
Encoding.Unicode.GetString ...을 시도하십시오. 또한 하드 코딩 된 텍스트를 레이블에 설정하려고합니다. 배경에있을 수도 있습니다. – VladL
16 진수를 표시하려면 실제로 바이트를 16 진수로 변환해야합니다. BitConverter.ToString()을 사용하십시오. [이 답변] (http://stackoverflow.com/a/2426258/17034)에서 수행하는 샘플 코드를 찾을 수 있습니다. –