gpt4 book ai didi

Java String.getBytes() 问题

转载 作者:行者123 更新时间:2023-11-30 04:55:02 25 4
gpt4 key购买 nike

我有一个字节数组。无关紧要:我使用 iText 库,当尝试从该数组中提取文本时,解析失败。我已追踪到该问题与损坏的 PDF 文档(字节)有关。因此,我想在将字节数组提供给库之前对其进行编辑。

byte[] bytesArray;
String x = new String(bytesArray);
x = x.replace("foo", "bar");
library.parse(x.getBytes());

这与下面的有什么不同?

library.parse(bytesArray);

谢谢。

最佳答案

用途:

  • 新字符串(bytesArray,“ISO-8859-1”)
  • x.getBytes("ISO-8859-1")

说明:

构造函数new String(byte[])和方法String.getBytes()使用“平台默认字符编码”在字符和字节之间进行转换。并非所有字节序列都可以映射到所有字符编码中的字符。构造的字符串将包含 unicode 替换字符\uFFFD,其中发现了不可映射的序列。解决方案是使用每个字节序列都是合法的字符编码。 ISO-8859-1 就是这样的一种编码。 (例如,UTF-8 不起作用。)

关于Java String.getBytes() 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8808334/

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