Android / java:字符串url在HttpGet(url)中不起作用

时间:2011-09-17 18:55:34

标签: java android url encoding text-files

我使用从另一个活动获得的值构造一个字符串:

Bundle b = getIntent().getExtras();

value = b.getString("bundledata");

url = "http://dl.dropbox.com/u/xxx/apptextfiles/";
url += value;
url += ".txt";

所以,字符串网址看起来像http://dl.dropbox.com/u/xxx/apptextfiles/LFC2.txt

稍后我尝试用HttpGet request = new HttpGet(url)读取文本文件 - 并且应用程序崩溃。奇怪的是,如果我写url =“http://dl.dropbox.com/u/xxx/apptextfiles/LFC2.txt”它工作正常,但如果我像上面那样构建它就不行。实际上,如果我从eclipse中获取url值并将其放入浏览器中,它将更改为http://dl.dropbox.com/u/xxx/apptextfiles/%EF%BB%BFLFC2.txt - 为什么?它看起来像som奇怪的编码问题?我从其他活动获得的字符串值也来自在线文本文件。任何人都有关于如何解决这个问题的线索?

1 个答案:

答案 0 :(得分:0)

查看http://www.w3schools.com/tags/ref_urlencode.asp

您的网址字符串中的value字段似乎包含特殊字符 - ï , » and ¿

这就是您引用时对网址进行编码的原因。使用hexeditor或其他东西来确保您的文本文件不包含特殊字符。