3

我正在将文本加载到 TextView 但问题是文本充满了 ASCII 字符,因此当文本加载到 TextView 时,我什么也看不到,或者它完全显示了其他字符。例如,用“?”代替字符“ó” 显示在黑色方块内。

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

感谢您的帮助。

4

1 回答 1

0

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

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

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();
于 2013-07-30T16:47:16.573 回答