美好的一天。擴展ascii表的ReadLine和編碼
我有一個帶有西班牙文單詞的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碼。對於任何ASCII字母,b的值都是正確的,並且在處理Ñ,帶符號,253或ASCII字符²時返回-3。沒有類似於Ñ...
這裏會發生什麼?我應該如何獲得這個簡單的ASCII碼?
讓我發瘋的是我無法找到正確的編碼。即使如果我去瀏覽UTF-8表(http://www.utf8-chartable.de/)Ñ是209dec和253dec是ý,165dec是¥。再次,不是我需要的事件親屬。
所以......請幫助我! :(
你可以看看你的文件在十六進制編輯器或顯示生字節?我懷疑253不是你在一個文件中的字節(因爲你正在閱讀流爲UTF-8) – 2013-02-14 22:55:38
是的可能...這是我的問題實際上:/ – 2013-02-14 23:00:43
正如你建議我,我用一個十六進制編輯器,我在文件中的字符有編碼209. – 2013-02-14 23:07:26