gpt4 book ai didi

java - 使用特殊编码将 Java String 写入文件

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:52:13 28 4
gpt4 key购买 nike

我得到了 Java 字符串 ôð¤ Ø$î1<¨ V¸dPžÐ ÀH@ˆàÀༀ@ ~€4` 我想用 ANSI 编码写入一个文件。

BufferedWriter out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(output),"windows-1252"));
try {
out.append(str);
} finally {
out.close();
}

调试器说 str包含 ôð¤ Ø$î1<¨ V¸dPÐ ÀH@àÀà¼@ ~4。一旦我将它写入输出文件,该文件只包含 ?ÒÜ@4 .那么我写入文件的方法有什么问题吗?

对于这个奇怪的字符串感到抱歉 - 我正在尝试用 java 重写 delphi 7 函数。这些字符串是我仅有的样本。

最佳答案

如果我跑

String text = "ôð¤ Ø$î1<¨ V¸dPžÐ ÀH@ˆàÀༀ@`~€4";
Writer writer = new OutputStreamWriter(new FileOutputStream("test.txt"), "windows-1252");
writer.append(text);
writer.close();
BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream("test.txt"), "windows-1252"));
String line = br.readLine();
br.close();
System.out.println(line.length() + ": '" + line + "' matches " + line.equals(text));

它打印

32: 'ôð¤ Ø$î1<¨ V¸dPžÐ ÀH@ˆàÀༀ@`~€4' matches true

所以在翻译中没有字符丢失。


如果我将编码更改为“US-ASCII”,我会得到以下输出

32: '??? ?$?1<? V?dP?? ?H@??????@`~?4' matches false

关于java - 使用特殊编码将 Java String 写入文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13085698/

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