【发布时间】:2014-02-26 18:14:15
【问题描述】:
我有一个整数值。我想将其转换为 Base 64 值。我尝试了以下代码。
byte[] b = BitConverter.GetBytes(123);
string str = Convert.ToBase64String(b);
Console.WriteLine(str);
它的输出为"ewAAAA==",包含 8 个字符。
我将相同的值转换为基数 16,如下所示
int decvalue = 123;
string hex = decvalue.ToString("X");
Console.WriteLine(hex);
前面代码的输出是 7B 如果我们在数学中这样做,结果是一样的。它有什么不同?我怎样才能获得与 Base 64 相同的值。 (我在网上找到了上面的base 64转换)
【问题讨论】:
-
Base 64 和 hex (base 16) 是不同的表示。为什么你期望相同的输出?
-
例如,如果我们将基数的“10”转换为十六进制的“A”。如果我们使用base 64(以数学方式)它的“10”。我想把它弄出来。
-
@udaya726 是的,这是 base-64 算术;
Convert是 base-64 编码 - 非常不同 -
我编辑了我的答案以提供类似的 base-64 转换;给出
B7,听起来不错:B(==1)*64 +7(==59) ==> 123
标签: c# int type-conversion