0

赤いブロック (下の画像を参照) から vb.net Windows フォーム アプリケーションのリッチテキスト ボックスにテキストをインポートしたい (画像は 16 進エディターから取得したものです) これを行う簡単な方法はありますか?

Google を使用して質問に対する回答を見つけようとしましたが、そこで見つかった例は機能しないか、Visual Basic で完全な 16 進エディタを作成する方法を説明しています。

4

3 に答える 3

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 に答える
0

ASCII エンコーディングを使用する場合は、次のようにします。

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

別のエンコーディングが必要な場合は、別のエンコーディングを指定してください。たとえば、UTF8 の場合はEncoding.UTF8.

サイドノート:

技術的には、左側の 16 進数が実際のバイト値です。右側 (赤いボックス内) のテキストはバイトではなく、これらのバイトの ASCII 表現です。

于 2013-02-06T17:47:37.880 に答える
-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 に答える