当前位置:  开发笔记 > 编程语言 > 正文

如何使用VB.NET将十六进制转换为十进制?

如何解决《如何使用VB.NET将十六进制转换为十进制?》经验,为你挑选了2个好方法。

我需要在VB.NET中将十六进制转换为十进制.在C#中找到了几个例子,但是当我尝试转换为VB.NET时,我没有成功.我想要转换的十六进制数的示例是"A14152464C203230304232323020572F544947455234352E".



1> Craig Gidney..:

对于实际上不需要使用bignum类的十六进制值,可以使用常规转换函数,但在数字前加上"&H".VB将文本中的"&H"解释为"这是一个十六进制数字",就像在代码中一样.

dim n = Cint("&H" & text)



2> Marc Gravell..:

这是一个24字节(192位)的数字; 你期待什么价值?

请注意,您可以Convert在这里使用很多蹩脚的工作 - 例如(在C#中):

    string hex = "A14152464C203230304232323020572F544947455234352E";
    byte[] raw = new byte[hex.Length / 2];
    for (int i = 0; i < raw.Length ; i++)
    {
        raw[i] = Convert.ToByte(hex.Substring(i * 2,2), 16);
    }

你如何得到raw一个数字取决于你认为这个数字是什么...

Visual Basic翻译由.NET Reflector提供(虽然"-1"看起来很奇怪):

Dim hex As String = "A14152464C203230304232323020572F544947455234352E"
Dim raw As Byte() = New Byte((hex.Length / 2)  - 1) {}
Dim i As Integer
For i = 0 To raw.Length - 1
    raw(i) = Convert.ToByte(hex.Substring((i * 2), 2), &H10)
Next i

推荐阅读
保佑欣疼你的芯疼
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有