【问题标题】:Base64 Encoding is different in Java and C# how to get same? [duplicate]Java和C#中的Base64编码不同如何获得相同? [复制]
【发布时间】:2014-05-14 06:18:24
【问题描述】:

在 C# 中:

encryptionKey="Wb2bLNGXABcl4Lz........AxqA5Xhsoqi7w52RKA=";

var key = Convert.FromBase64String(encryptionKey);

key value={89,189,155,44,209,151,0,23,37,224,188,250,186,104,35,70,250,81,212,12,106,3,149,225,178,138,162,239,14,118,68,160}

在java中:

byte[] key= Base64.decodeBase64(encryptionKey);

key={89,-67,-101,44,-47,-105,0,23,37,-32,-68,-6,-70,104,-21,70,-6,81,-44,12,106,3,-107,-31,-78,-118,-94,-17,14,118,68,-96};

Java 和 C# 中的键值不同。如何在 Java 中获得相同的值?

【问题讨论】:

  • 我正在寻找 java 中的相关代码以获得相同的输出。
  • 它们它们相同的输出。 Java 显示有符号字节,C# 不是。

标签: c# java encoding base64 signed


【解决方案1】:

都是一样的。在第一种情况下,字节是无符号的,而 Java 字节是有符号的。我们在数组中看到的是对相同值的不同解释,例如 189 和 -67 = 0xBD

字节 b = (字节) 189;

现在 b = -67

【讨论】:

  • 感谢 Evgeniv Dorofeev
猜你喜欢
  • 2011-10-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-03-07
  • 1970-01-01
  • 2019-09-17
相关资源
最近更新 更多