当前位置: 首页 > 面试题库 >

如何将UTF字符串转换为ANSI并使用JAVA-ANDROID在SSD中创建ANSI文本文件

农永宁
2023-03-14
问题内容

我用Java编写了一个Android应用,以获取用户答案并将其保存在文件中。问题在于此文件保存在utf-8中。最终用户将在IBM
SPSS(用于Windows的应用程序)中打开这些文件,该应用程序只能在ANSI中读取文件(Windows-1252)。

如何使用ANSI代码创建文件以保存在java-android应用程序的ssd卡中?

我想我知道将String转换为ANSI应该使用:

String unicode = new String(asciiBytes, "windows-1252");

那是对的吗?

我保存文件的代码是这样的:

File interviewFile = new File(placeOfSDD, fileName);
FileWriter writer = new FileWriter(interviewFile, true);
writer.append(textBody);
writer.flush();
writer.close();

“ textBody”是要转换为ANSI的字符串,“ interviewFile”也是要另存为ANSI的文件。

谢谢您的帮助!!


问题答案:

字符串在JVM中以Unicode表示。写出来时,需要将其转换为适当的字符集。

为此,请使用OutputStreamWriter并指定Charset

OutputStreamWriter writer = new OutputStreamWriter(new FileOutputStream(file, true), 
                                                   "windows-1252");
writer.append(textBody);
writer.close();

关于第一个问题:

我想我知道我应该使用将Strings转换为ANSI:
String unicode = new String(asciiBytes, "windows-1252");
正确吗?

给定一个表示“ windows-1252”字符集中的字符的字节数组,此代码将为您构造适当的Java String(在JVM中内部表示为Unicode)。这
不是 “将字符串转换为ANSI”……而是相反:将“ windows-1252”转换为Unicode。



 类似资料:
  • 我试图保存一个字符串在希伯来文文件,同时有文件ANSI编码。恐怕所有的尝试都失败了。 PHP文件本身是UTF-8 这是我正在尝试的代码: 由于某种原因,返回false。 另一次尝试是: 这返回一个空字符串。当这不起作用时,将输出字符集更改为Windows-1255的工作。所以函数本身工作,但由于某种原因,它不转换为1252。 我运行这个函数之前和之后的和打印的结果 在图标之前编码是UTF-8,在图

  • 我有一些用ANSI编码的php脚本文件。现在我已经将我的网站转换为html5,我需要UTF-8中的所有内容,以便这些文件中的重音可以正确显示,而无需通过iconv()进行任何php转换。我使用记事本++在UTF-8上设置脚本编码并保存文件,大多数都很好,重音显示正确,只有主脚本现在阻止了一切,服务器只返回一个白页,没有任何错误消息,即使使用! 当我在记事本++中将编码更改为ANSI并保存文件而不做

  • 问题内容: 请给我帮助。我正在使用一个Java应用程序,它将数据从txt文件转换为数据库,问题是该文件具有ANSI编码,由于它来自我的应用程序之外,并且当我将数据写到该文件时,我无法更改。数据库我有一些“ ???” 内。我的问题是,如何将从文件中读取的数据从ANSI转换为可以处理这些奇怪符号的UTF-8。我试过了Byte []到String的转换,但是没有用。 问题答案: 使用像这样打开一个解码阅

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

  • 我在几个小时的研究后发布了这个(几次...)。我还找不到任何答案。 我的目标是使用PHP编写一个CSV文件。这个文件必须有中文ANSI编码(我想简体中文是GB2312,在记事本中我只看到ANSI编码)。必须导入到另一个工具。 【重要提示】 我们目前正在转换一个带有记事本的文件和一台默认语言为中文的PC。这个过程是: 从web-app获取UTF8 CSV 保存为CSV与Excel 2003在中国PC

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