【问题标题】:How to convert a "binary string" to base64?如何将“二进制字符串”转换为 base64?
【发布时间】:2011-12-04 06:26:13
【问题描述】:

我关注了这个:https://dev.twitter.com/docs/auth/creating-signature

到最后,但我找不到如何将“二进制字符串”编码为 base64(最后)。我想先尝试在线转换器,但他们不给字符串显示 "tnnArxj06cWHq44gCs1OSKk/jLY="

试过这个:http://www.motobit.com/util/base64-decoder-encoder.asp

http://www.hash-cracker.com/base64.php#anchor

http://www.opinionatedgeek.com/dotnet/tools/Base64Encode/

没有人给出那个字符串。

我将使用java。但我认为我搜索的所有这些 java 工具都会给出与在线转换器相同的结果。将“二进​​制字符串”编码为 base64 需要做什么?

【问题讨论】:

标签: java binary base64


【解决方案1】:

使用这些在线工具的问题不在于 base64 转换 - 它将首先将十六进制字符串解析为字节数组。在您的真实代码中这不会成为问题,因为它将是另一个阶段的输出。为了证明这一点,这里有一些示例 Java 代码,使用 public domain base64 encoder

public class Test {
    public static void main(String[] args) throws Exception {
        byte[] data = { (byte) 0xB6, (byte) 0x79, (byte) 0xC0, (byte) 0xAF, 
                (byte) 0x18, (byte) 0xF4, (byte) 0xE9, (byte) 0xC5, 
                (byte) 0x87, (byte) 0xAB, (byte) 0x8E, (byte) 0x20, 
                (byte) 0x0A, (byte) 0xCD, (byte) 0x4E, (byte) 0x48, 
                (byte) 0xA9, (byte) 0x3F, (byte) 0x8C, (byte) 0xB6 };

        String text = Base64.encodeBytes(data);
        System.out.println(text);
    }
}

输出:tnnArxj06cWHq44gCs1OSKk/jLY=

【讨论】:

  • 好的。我得到它。谢谢。所以在这里:ostermiller.org/calc/encode.html 我从“b679c0af18f4e9c587ab8e200acd4e48a93f8cb6”解码十六进制。然后编码base64,结果是正确的“tnnArxj06cWHq44gCs1OSKk/jLY=”。我没有看到的一件事是十六进制。
【解决方案2】:

您可以使用此链接将二进制字符串转换为 Base64 https://cryptii.com/pipes/binary-to-text

这是一个将二进制字符串转换为 Base64 字符串的示例:

这是另一个将普通字符串转换为 Base64 字符串的示例

【讨论】:

  • 我看不出这如何回答本页顶部的问题,但它应该。请edit根据How to Answer或删除答案。否则,它可能会被标记为“不是答案”并被删除。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-11-10
  • 1970-01-01
  • 2012-09-01
  • 2015-01-02
  • 1970-01-01
  • 2011-09-17
  • 2011-04-14
相关资源
最近更新 更多