base64转化字节流 js_Byte[]和BASE64之间的转换

把byte[]中的元素当做无符号八位整数转换成只含有64个基本字符的字符串,这些基本字符是:

l 大写的A-Z

l 小写的a-z

l 数字0-9

l '+' 和 '/'

l 空白字符(包括空白、tab,换行)

l ‘=’,为填充字符,结尾处可以填充0-2个填充字符

这64个字符构成BASE64的字符集。

Base64是将原文按照每 3 个字节一组分开,这个 3 字节组中的每一组将被按照位分解成 4 个部分,每个部分 6 个位,在这 4 个部分的每个部分高位加上 2 个 0构成一个新的 4 字节组,新的字节组中,每个字节只有 6 位,能表示64个值。

在原文在转换为BASE64编码时,试是以3个字节为一组转换成4字节一组的BASE64编码。如果原文不是三字节的倍数,可能多出一个字节和两个字节,分别会被转为2字节和3字节的BASE64编码,这时编码系统应该在形成的BASE64编码最后添加上填充符”=”,保证BASE64编码长度是4的倍数。所以在BASE64编码后添加的填充符”=”可能为0-2个。

BASE64编

Byte[]和BASE64之间的转换纯粹就是表现形式的一种转换,它们之间有直接的对应关系,不涉及到使用何种代码页的问题,BASE64表达的也是字节流。

二、 Byte[]和BASE64之间的转换操作

static void Main(string[] args)

{

string factStrin

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您可以使用 `ByteArrayOutputStream` 类来创建一个节流,并使用 `PdfWriter` 类将内容写入该流中。然后,您可以使用 `Base64` 类将该节流转换base64 节码。 以下是示例代码: ``` import com.itextpdf.text.Document; import com.itextpdf.text.Paragraph; import com.itextpdf.text.pdf.PdfWriter; import java.io.ByteArrayOutputStream; import java.util.Base64; public class PdfToBase64 { public static void main(String[] args) throws Exception { // 创建一个节流 ByteArrayOutputStream baos = new ByteArrayOutputStream(); // 创建一个 PDF 文档 Document document = new Document(); PdfWriter.getInstance(document, baos); document.open(); // 写入一些内容到 PDF 文档 document.add(new Paragraph("Hello, World!")); // 关闭 PDF 文档并释放资源 document.close(); // 将节流转换base64 节码 byte[] bytes = baos.toByteArray(); String base64 = Base64.getEncoder().encodeToString(bytes); // 打印 base64 节码 System.out.println(base64); } } ``` 在此示例中,我们使用 `ByteArrayOutputStream` 类创建一个节流,并使用 `PdfWriter` 类将内容写入该流中。然后,我们使用 `Base64` 类将该节流转换base64 节码,并将其打印到控制台上。 请注意,上面的示例仅适用于创建新的 PDF 文档并将其转换base64 节码。如果您要将现有 PDF 文档转换base64 节码,请使用 `PdfReader` 类读取该文档并将其写入节流中,然后将该节流转换base64 节码。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值