0
仍然在我的项目上工作,并希望有更多的帮助。这是我的问题:我有一个字符串在CompanyID
可能充满“”空间(从ASCII十六进制文本派生)。我尝试过的一些代码不会检测到空格(可能是因为有许多十六进制字符会返回空格,而且它们的值不同),代码(图B)返回所有空格的值。我想要做的是搜索任何字母/数字的字符串“CompanyID”。如果是的话,我需要textBox10.Text = CompanyID;
如果没有,我需要输出到文本框,如图A所示。如果ASCII字符串包含字母或数字,然后返回文本
图。 - 答:
else textBox10.Text = "No Value!";
if (val.Contains("No Value!")) textBox10.ForeColor = Color.Orange;
图。 B:
// COMPANY ID
{
BinaryReader br3 = new BinaryReader(File.OpenRead(OpenFileDialog1.FileName));
br3.BaseStream.Position = 0x110;
Char[] charArray = br3.ReadChars(16);
string CompanyID = new string(charArray);
textBox10.ForeColor = Color.Black;
textBox10.Text = CompanyID;
br3.Close();
{
// CODE REPLACEMENT
string val = CompanyID;
textBox10.ForeColor = Color.Black;
foreach (char c in CompanyID)
{
if (Char.IsDigit(c)) textBox10.Text = CompanyID;
else textBox10.Text = "No Value!";
if (val.Contains("No Value!")) textBox10.ForeColor = Color.Orange;
}
}
任何帮助,将不胜感激。感谢您的时间!
“返回不同值的空格” - 应该告诉你,你没有使用ASCII。那么,“ASCII十六进制文本”也不是ASCII?你处理得当吗?十六进制字符用于表示字节。字节表示编码文本。没有文字,但编码文字。您默认使用['new BinaryReader(...)'](https://msdn.microsoft.com/en-us/library/2k01zeat(v = vs.110)]中Unicode字符集的UTF-8编码。 ASPX)。 (这很可能是正确的,特别是因为在过去的三十年里,ASCII通常不被用于文本文件。)[我看不到十六进制涉及到哪些内容。] –