【问题标题】:How to convert large Binary string to Hexa decimal string format in C#?如何在 C# 中将大型二进制字符串转换为十六进制字符串格式?
【发布时间】:2014-11-13 03:19:54
【问题描述】:

我正在尝试将二进制数据(字符串)转换为十六进制数据(字符串)

 string BinaryData = 1011000000001001001000110100010101100111100000000001000001111011100010101011";

 string HexaDecimalData = Convert.ToInt64 ( BinaryData, 2 ).ToString ( "X" );

我得到一个溢出异常:Value was either too large or too small for a UInt64。我可以理解二进制字符串很大,但同时我想不出比 Int64 更大的数据类型。

有什么建议吗?

【问题讨论】:

标签: c# data-conversion


【解决方案1】:
string BinaryData = "1011000000001001001000110100010101100111100000000001000001111011100010101011";

int count = 0;
var hexstr = String.Concat(
                BinaryData.GroupBy(_ => count++ / 4)
                          .Select(x => string.Concat(x))
                          .Select(x => Convert.ToByte(x, 2).ToString("X"))
             );

【讨论】:

    猜你喜欢
    • 2017-02-23
    • 2014-08-03
    • 2012-01-22
    • 2019-08-23
    • 1970-01-01
    • 2018-01-31
    • 2022-07-22
    • 2011-09-30
    相关资源
    最近更新 更多