【问题标题】:Detect Unprintable ASCII Characters in String检测字符串中不可打印的 ASCII 字符
【发布时间】:2020-01-22 12:43:20
【问题描述】:

我正在使用 Visual Basic 2010 Express。我需要解析一个包含不可打印字符的字符串。我需要检测 ASCII 4(传输结束)。

扫描仪将数据转储到我的应用程序中的 TextBox 中。在一个循环中,我正在使用:

If Chr(MyString.Chars(counter)) = 4 Then
   MsgBox("Found")
End If

这不是正确的语法,但应该传达我正在尝试做的事情。

【问题讨论】:

    标签: vb.net


    【解决方案1】:

    扫描仪将数据转储到文本框后:

    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
       TextBox1.Text = "Some chars coming in from " & Chr(4) & " a scanner"
    End Sub
    

    试试这样的:

    Dim MyString As String = TextBox1.Text
    
    If MyString.Contains(Chr(4)) Then
       MessageBox.Show("Found")
    End If
    

    甚至是这样的:

    Dim MyString As String = TextBox1.Text
    Dim counter As Integer = 26
    
    If MyString.Chars(counter) = Chr(4) Then
       MessageBox.Show("Found")
    End If
    

    【讨论】:

    • 布赖恩,问题.. VB 似乎正在从文本框中删除特殊字符。有没有办法维护它们以便我可以解析它们?
    • 我没有这个问题。也许还有其他问题?
    • 您的示例中有 chr 函数,所以我知道基本功能有效。但是,当我将字符串更改为我的文本框时,扫描数据没有不可打印的字符。我 100% 确定扫描仪包含字符,因为我可以在我使用的专有扫描仪软件中看到它们。你知道我应该从这里往哪里看吗?
    • 数据如何从扫描仪传送到文本框?也许在这个过程中发生了一些事情。
    • 数据通过 USB 端口进入具有焦点的文本框。我什至尝试用人类可读的字符替换该字符,但无济于事。我被难住了。
    猜你喜欢
    • 2012-06-16
    • 2016-04-09
    • 2010-12-13
    • 1970-01-01
    • 1970-01-01
    • 2016-12-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多