我有一个使用Java编码的字符串
data = new String(Base64.getEncoder().encode(encVal), StandardCharsets.UTF_8);
我正在接收此编码数据作为API响应。我想用ruby对base64进行解码。我正在使用
Base64.strict_decode64(data)
为此。但这不起作用。有人可以帮我吗?
答案 0 :(得分:0)
您的Java代码正确:
byte[] encVal = "Hello World".getBytes();
String data = new String(Base64.getEncoder().encode(encVal), StandardCharsets.UTF_8);
System.out.println(data); // SGVsbG8gV29ybGQ=
SGVsbG8gV29ybGQ=
使用多种工具正确解码,例如https://www.base64decode.org/。
您正在观察最有可能由于创建byte[]
中的错误而导致乱码解码值的情况。创建byte[]
时,可能必须指定正确的编码。