您好。
我有一个包含西班牙单词的ASCII文件。它们只包含A到Z之间的字符,以及Ñ,ASCII码为165 (http://www.asciitable.com/)。 我使用以下源代码获取此文件:
InputStream is = ctx.getAssets().open(filenames[lang_code][w]);
InputStreamReader reader1 = new InputStreamReader(is, "UTF-8");
BufferedReader reader = new BufferedReader(reader1, 8000);
try {
while ((line = reader.readLine()) != null) {
workOn(line);
// do a lot of things with line
}
reader.close();
is.close();
} catch (IOException e) { e.printStackTrace(); }
我这里称之为workOn()的函数应该从字符串中提取字符代码,大致如下:
private static void workOn(String s) {
byte b;
for (int w = 0; w < s.length(); w++) {
b = (byte)s.charAt(w);
// etc etc etc
}
}
很遗憾,当b代表Ñ字母时,我无法将其识别为ASCII代码。b的值对于任何ASCII字母都是正确的,并且在处理Ñ时返回-3,这被转换为带符号的253,或ASCII字符²。与Ñ没有任何相似之处...
发生了什么?我该如何获取这个简单的ASCII代码?
让我感到疯狂的是我找不到正确的编码方式。即使我查看UTF-8表格(http://www.utf8-chartable.de/),Ñ是209dec,253dec是ý,165dec是¥。再次说明,与我需要的不相关。
所以...请帮帮我!:(