c# - 将十六进制字符串解析为以 10 为基数的长整数

标签 c# python hex

我需要将十六进制值解析为以 10 为基数的长整数。值类似于:

 9F2EEA4AA03D55B33172E9A86CFF6156AC1628C67983193A337B98995151F9B0F41562290DB98697280E805803E4B18914519CEB55CEA5D03A927C28C36A4BC7

我该怎么做?

更新:

在 python 中,我使用了以下内容:

>> num = "9F2EEA4AA03D55B33172E9A86CFF6156AC1628C67983193A337B98995151F9B0F41562290DB98697280E805803E4B18914519CEB55CEA5D03A927C28C36A4BC7"
>> int(num, 16)
>> 8337103942674051648235321365669510487642415361796636721089378763661406518267124809778145800381557738780272231500412167743930433352841689114003303823985607L

当我的同事尝试@Sergey的答案时,我的同事得到了不同的结果(负值,而我的不是负值)

>> BigInteger bigInteger = BigInteger.Parse(num, NumberStyles.HexNumber);
>> -5070703987268545451338703632536335639836950458795756656634182680060357511806422167023728497785345688909759626686073883109823449459104880832430345182098489

最佳答案

请查看BigInteger Structure处理大整数。

BigInteger bigInteger = BigInteger.Parse("0D574F480A03D55B33172E9A86CFF6156AC1628C67983193A337B98995151F9B0F41562290DB98697280E805803E4B18914519CEB55CEA5D03A927C28C36A4BC7", NumberStyles.HexNumber);
string s = bigInteger.ToString(); // String with decimal representation.

更新

如果数字应解释为正数,则在字符串前面添加(开始)0,即使其第一个字符是 8–F。请参阅上面的示例:0D574...

关于c# - 将十六进制字符串解析为以 10 为基数的长整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14729713/

相关文章:

c# - Winnovative Html to pdf Converter 页码在附加文档上不正确

c# - 排序算法 - C#

python - "no matching architecture in universal wrapper"导入pygame时

javascript - 将 Google 联系人 ID 转换为十六进制以在 URL 中使用

vb.net - 在 VB.NET 中只从文件中读取 x 个字节

c# - 如何查看在Docker容器上运行的C#应用程序中的更改?

c# - 行在 GridView 中多次出现

python - 在 Python 中使用 poplib 检查与收件箱不同的文件夹

python - 使用 OPENCV python 裁剪面部

python - 如何以编程方式从十六进制中检索 unicode 字符?