java 如何将“二进制字符串”转换为base64?

7tofc5zh  于 2023-03-28  发布在  Java
关注(0)|答案(3)|浏览(418)

我一直在跟踪这个:https://dev.twitter.com/docs/auth/creating-signature
到最后,但我找不到如何将“二进制字符串”编码为base64(在最后)。我想先尝试在线转换器,但他们不给予字符串显示“tnnArxj 06 cWHq 44 gCs 1 OSKk/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需要做什么?

9fkzdhlc

9fkzdhlc1#

使用这些在线工具的问题并不在于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);
    }
}

输出:tnnArxj 06 cWHq 44 gCs 1 OSKk/jLY=

xriantvc

xriantvc2#

您可以使用此链接将二进制字符串转换为Base64 https://cryptii.com/pipes/binary-to-text
下面是一个将二进制字符串转换为Base64字符串的例子:

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

zc0qhyus

zc0qhyus3#

Java 8已经提出了java.util.Base64包来帮助将字节编码为Base64,反之亦然

import java.util.Base64;

byte[] bytes = string.getBytes();

// returns byte[]
Base64.getEncoder().encode(bytes);

// returns String
Base64.getEncoder().encodeToString(bytes);

相关问题