gpt4 book ai didi

java - 为任何给定大小的文件形成相等长度的 Base64 字符串

转载 作者:行者123 更新时间:2023-12-01 17:59:47 25 4
gpt4 key购买 nike

其实我需要

A valid Base64 string value that identifies the block. Prior to encoding, the string must be less than or equal to 64 bytes in size.

For a given blob, the length of the value specified for the blockid parameter must be the same size for each block.

Note that the Base64 string must be URL-encoded.

https://learn.microsoft.com/en-us/rest/api/storageservices/fileservices/put-block 中所述.

为此,我将一些 C# 代码转换为 Java。我对这行代码有问题

//create a blockID from the block number, add it to the block ID list
//the block ID is a base64 string
String blockId = Convert.ToBase64String(ASCIIEncoding.ASCII.GetBytes(string.Format("BlockId{0}",blockNumber.ToString("0000000"))));

我尝试过以下方法:

String str = "BlockId"+blockNumber;
String blockId = Base64.getEncoder().encodeToString(("BlockId"+(blockNumber+"")).getBytes("utf-8"));

但是,我无法理解“0000000”作为 ToString 的参数在做什么,以及它在 Java 中的等价物是什么。

而且我怎样才能满足第二个条件,即每个 block 或机会文件的 blockid 长度在 JAVA 中应该相同。由于文件大小可能会有所不同。

最佳答案

在 C# 中,toString()有几个重载版本。接受 String 参数的参数使用 String 来指定格式。在这种情况下,该数字将用足够的 0 填充以确保有 7 位数字。在Java中,您可以使用 String.format()以获得相同的行为。请参阅the format string documentation有关格式字符串语法的详细信息。

关于java - 为任何给定大小的文件形成相等长度的 Base64 字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41922733/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com