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通常不被用於文本文件。)[我看不到十六進制涉及到哪些內容。] –