Java 如何在Android中将ASCII字符转换为字符串?

Java 如何在Android中将ASCII字符转换为字符串?,java,android,string,ascii,Java,Android,String,Ascii,我正在将文本加载到TextView,但问题是文本中充满了ASCII字符,因此当文本加载到TextView时,我看不到任何内容,或者它完全显示了其他字符。例如,显示黑色正方形中的“?”而不是字符“ó”a” 我的问题是,如何将ASCII字符转换为字符串 谢谢您的帮助。€不是Ascii字符。相反,您可能在源文件上使用Windows-1252编码或类似的编码。在这里,欧元被映射到字符128,在Unicode中它是一个控制字符 编辑:很明显,文本是从internet加载的,不可修改,等等,那么下面的代码可

我正在将文本加载到TextView,但问题是文本中充满了ASCII字符,因此当文本加载到TextView时,我看不到任何内容,或者它完全显示了其他字符。例如,显示黑色正方形中的“?”而不是字符“ó”a”

我的问题是,如何将ASCII字符转换为字符串


谢谢您的帮助。

€不是Ascii字符。相反,您可能在源文件上使用Windows-1252编码或类似的编码。在这里,欧元被映射到字符128,在Unicode中它是一个控制字符

编辑:很明显,文本是从internet加载的,不可修改,等等,那么下面的代码可以工作:

InputStreamReader reader = new InputStreamReader(
        yourInputStream, "windows-1252"); 
        // or what ever seems to be the correct encoding!

StringBuilder builder = new StringBuilder();

while (reader.ready())
{
    builder.append(reader.read());
}
reader.close();

String string = builder.toString();

请发布加载文本的代码。文本编码可能是?在尝试解决问题之前,您应该阅读并理解ASCII、Unicode、编码和字符串是什么。您给出的示例不是ASCII。简短回答:use,java.nio.charset.charset)和“right”字符集。“windows-1252”()目前在Android上受支持;试试看。哦,对不起,你说得对。但是还有一些其他字符(在记事本++中显示的是ó,BEL)是ASCII字符,它显示sameno,ó不是ASCII字符。用UTF-8编码保存您的文件。但我在本网页的扩展ASCII代码标题下看到了:您是对的,但是扩展ASCII不是标准的,标准US-ASCII是7位,扩展ASCII有一个第8位集,并且存在大量用于“扩展”ASCII的操作系统/平台/语言编码。“Windows-1252”(Windows拉丁语-1)是一个不错的选择。显示的“ISO-8859-1”(拉丁语-1)是一个非常以美国为中心的/历史视图。您建议怎么做?那个文件是给定的,我想我不能更改它,因为我的应用程序从网页加载它。是否有某种代码能够将加载的文本转换为可读形式?