当前位置: 首页 > 知识库问答 >
问题:

Java8:如何将普通的UTF-8文本转换为RTF(符号>127)?

元修然
2023-03-14

我发现了许多使用RTFEditorKit的“如何RTF->纯文本”,但没有一个“纯文本->RTF”。我不会手动完成,因为在我的例子中,我们必须将128以上的所有字符转换为十六进制字符串才能获得正确的RTF文件。我想在某个图书馆做这件事。

我正在尝试用RTFeditorKit来完成:

String orig = "Hello Привет こんにちは";
InputStream is = new ByteArrayInputStream(orig.getBytes(StandardCharsets.UTF_8));
// String tmpStr = is.getText("UTF-8"); // here is correct tmpStr

RTFEditorKit rtfParser = new RTFEditorKit();
javax.swing.text.Document doc = rtfParser.createDefaultDocument();

rtfParser.read(is, doc, 0); 
int docLen = doc.getLength(); // !!! here is docLen = 0

OutputStream os = new ByteArrayOutputStream();
rtfParser.write(os, doc, 0, docLen, );

但不能将纯文本读入文档对象。

共有1个答案

葛霄
2023-03-14

我不确定我是否能准确地指出代码中哪里出了问题,但这对我来说很有效。我将字符串插入文档:

String orig = "Hello Привет こんにちは";

RTFEditorKit rtfParser = new RTFEditorKit();
javax.swing.text.Document doc = rtfParser.createDefaultDocument();

doc.insertString(0, orig, null); 
int docLen = doc.getLength(); 

OutputStream os = Files.newOutputStream(Paths.get("test.rtf"), StandardOpenOption.CREATE);

rtfParser.write(os, doc, 0, docLen);
 类似资料:
  • 问题内容: 从我的数据库即时通讯获取以下字符串: 它应该说的是: 我试图像这样将其转换为utf-8: 但是仍然是同样的问题。 有任何想法吗? 问题答案: 使用npm中的utf8模块对字符串进行编码/解码。 安装: 在浏览器中: 在Node.js中: API: 编码: 将任何给定的JavaScript字符串(字符串)编码为UTF-8,并返回该字符串的UTF-8编码版本。如果输入字符串包含非标量值(即

  • 我有一个从第三方应用程序收到的字符串,我希望在我的Windows界面上使用C#以任何语言正确显示它。 由于编码不正确,我的字符串中有一段在西班牙语中如下所示: AcciÃn 然而它应该看起来像这样: 阿克松 根据这个问题的答案:如何知道C#中的字符串编码,我接收到的编码应该已经在UTF-8中出现了,但它是在编码时读取的。默认值(可能是ANSI?)。 我试图将这个字符串转换成真正的UTF-8,但问题

  • 我有一个oracle DB,根据我们的DB管理,没有设置格式,但是当我们将数据导出到文本文件时,它是以utf-8的形式出现的 谁能帮我把这些文本文件转换成Unicode码吗

  • 我将python3和Nmap用于smb-os发现。nse脚本获取有关网络中endpoint的详细信息。特别是主机名。当主机名包含非ascii字符时,我会收到类似utf-8的字符串,如下所示: 我想要的是将此字符串转换为真正的utf-8(编码或解码,没关系),如下所示: 我尝试了以下方法,但没有成功: 据我所知,问题在于脚本的输出以解码python字符串的形式给我utf-8编码字符。 可以自动转换吗

  • 问题内容: 我无法在Android中将字符串转换为UTF-8。请帮我!! 结果: 但是“ ”应该编码为“ ” 问题答案: 在http://developer.android.com/reference/java/net/URLEncoder.html中,您可以了解到您使用的已弃用,应该使用 所以应该做到这一点。

  • 问题内容: 我们有一个水晶报表,我们需要将其作为电子邮件发送出去,但是从水晶报表生成的HTML几乎很丑陋,并且导致某些电子邮件客户端出现问题。我想将其导出为富文本格式,并尽可能将其转换为HTML。 有什么建议么? 问题答案: 我会在CodeProject RTFConverter上签出此工具。这个家伙很好地细分了程序的工作方式以及转换的细节。