4

テキスト ボックスの文字列を 16 進数に変換するにはどうすればよいですか?

私はC#でしか方法を見つけていません。VB.NET にはそのようなことを行う機能がありますか? 可能であれば、文字列を16進数に、16進数を文字列に変換する方法を知りたいです。

4

7 に答える 7

11
Dim val As String
val = "10"
Dim hexVal As Integer
hexVal = Convert.ToInt32(val, 16) //16 specifies the base
Console.WriteLine(hexVal)

これにより、16 進文字列「10」に相当する整数である 16 が表示されます。

于 2012-05-08T18:16:33.203 に答える
4

次のようにして、整数を16進数に簡単に変換できます。

Convert.ToInt32(15, 16)

それを整数に戻すには、次のようにします。

Integer.Parse("15f", System.Globalization.NumberStyles.HexNumber)
于 2012-05-08T18:25:52.613 に答える
3
Public Function StrToHex(ByRef Data As String) As String
    Dim sVal As String
    Dim sHex As String = ""
    While Data.Length > 0
        sVal = Conversion.Hex(Strings.Asc(Data.Substring(0, 1).ToString()))
        Data = Data.Substring(1, Data.Length - 1)
        sHex = sHex & sVal
    End While
    Return sHex
End Function
于 2012-05-08T18:19:43.887 に答える
3

試行錯誤したコード

この関数をコピーして貼り付けて作成します。

Function StringToHex(ByVal text As String) As String
    Dim hex As String
    For i As Integer = 0 To text.Length - 1
        hex &= Asc(text.Substring(i, 1)).ToString("x").ToUpper
    Next
    Return hex
End Function

このように使用してください

Debug.WriteLine(StringToHex("sim0n"))

ソース

于 2016-02-19T08:45:09.650 に答える
2

16 進数に変換するには、 を使用しますConvert.ToInt32(val, 16)。Convert.ToInt32 は、限定された基数 2、8、10、および 16 をサポートします。

任意の基数に変換するには、次を使用します。

Public Shared Function IntToString(value As Integer, baseChars As Char()) As String
    Dim result As String = String.Empty
    Dim targetBase As Integer = baseChars.Length

    Do
        result = baseChars(value Mod targetBase) + result
        value = value / targetBase
    Loop While value > 0

    Return result
End Function

上記の関数は、この質問から来ています。C# から VB への変換は、これを使用して行われました。

于 2012-05-08T18:21:29.670 に答える
1

String のすべての文字sを 16 進数形式で表示するための短く効果的な式は、 LINQ を使用して記述できます。

String.Join(" ", s.Select(Function(c) Conversion.Hex(AscW(c)).PadLeft(4, "0")).ToArray()))

例:

string の► fix場合、 string を指定します25BA 0020 0066 0069 0078

楽しみ!

これはUnicode-enabledであり、すべての文字に対して 4 桁の 16 進数値を返すことに注意してください。古いプレーンな非 Unicode ASCII は死んでおり、どのアプリケーションでもそれに依存するべきではないためです。

于 2014-11-10T07:09:21.073 に答える