code.google.com中的eula模块工作良好,但由于某些原因,它不显示unicode字符(例如)。
我知道AlertDialogs完全能够显示Unicode字符,因为我在我的应用程序的其他对话框中也这样做。
我在eula的对话框和其他对话框之间找到的唯一区别是eula.java对话框从assets文件夹中的文本文件获取其字符串:
private static CharSequence readEula(Activity activity) {
BufferedReader in = null;
try {
in = new BufferedReader(new InputStreamReader(activity.getAssets().open(ASSET_EULA)));
String line;
StringBuilder buffer = new StringBuilder();
while ((line = in.readLine()) != null)
buffer.append(line).append('\n');
return buffer;
}
catch (IOException e) {
return "";
}
finally {
closeStream(in);
}
}
该文本文件在notepad++中显示所有unicode字符,因此我只能怀疑
InputStreamReader
、BufferedReader
或StringBuilder
在从资产文件到警报对话框的过程中对字符串执行了某些操作。如何使eula.java显示Unicode?
最佳答案
给出源数据的编码;此类将数据转换为utf-16字符数据。
关于java - 如何使Eula.java显示Unicode?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6033726/