0

我想将红色块中的文本(见下图)导入 vb.net windows 窗体应用程序中的richtextbox(图像取自十六进制编辑器)有没有简单的方法可以做到这一点?

我试图使用谷歌找到我的问题的答案,但我在那里找到的示例要么不起作用,要么解释了如何在 Visual Basic 中制作完整的十六进制编辑器。

4

3 回答 3

0

如果要使用 ASCII 编码,只需执行以下操作:

RichTextBox1.Text = File.ReadAllText(filePath, Encoding.ASCII)

如果您想要另一种编码,只需指定一个不同的编码。例如,对于 UTF8,使用Encoding.UTF8.

边注:

从技术上讲是正确的,左边的十六进制数字是实际的字节值。右边的文本(在红色框中)不是字节——它是这些字节的 ASCII 表示。

于 2013-02-06T17:47:37.880 回答
0

如果您知道字符是 ASCII,那么以下应该可以工作。

Public Function AsciiByteToChar(ByVal b As Byte) As Char
    Dim barr() As Byte = New Byte() {b}
    Dim carr() As Char = Encoding.ASCII.GetChars(barr)
    Return carr(0)
End Function
于 2013-02-06T17:43:04.793 回答
-1
  1. 打开一个FileStream文件
  2. Seek到你想要的第一个字节
  3. Read你想要的长度
  4. 使用Encoding.UTF8(或您喜欢的其他编码)将字节转换为字符
  5. 将 的Text属性设置TextBox为您的值

    Public Sub Sample()
        Dim f As New FileStream("filepath")
        f.Seek(byteOffset, SeekOrigin.Begin)
    
        Dim buffer(byteLength) As Byte
        f.Read(buffer, 0, byteLength)
    
        Dim chars As String = Encoding.UTF8.GetString(buffer)
        txtBox.Text = chars
     End Sub
    
于 2013-02-06T17:53:08.220 回答