我在这里面临一个奇怪的情况。
我正在通过 json 解析图片链接并获取 url:
http://developersatwork.com/projects/g4/tools/wp-content/uploads/2015/05/Belbin’s-Team-Roles-100x100.jpg
每当我将其粘贴到浏览器中时,就会显示图像,但每当我将其粘贴到记事本中时,就会显示以下网址:
http://developersatwork.com/projects/g4/tools/wp-content/uploads/2015/05/Belbin%E2%80%99s-Team-Roles-100x100.jpg
您可以将撇号替换为 %E2%80%99 并且 Json 无法检测到 撇号,结果它抛出异常:
06-15 14:01:16.955: W/System.err(10146): java.io.FileNotFoundException: http://developersatwork.com/projects/g4/tools/wp-content/uploads/2015/05/Belbin’s-Team-Roles-100x100.jpg
如何用相应的代码替换这些特殊字符,以便 Json 可以检测到它们?
我尝试了 UTF-8 编码和解码,但它不起作用。请给出一个通用的解决方案,但不是针对特定字符。
另一个:
http://www.tools4management.dreamhosters.com/wp-content/uploads/2015/06/The-POSITIVE-Model-of-Coaching-–-An-8-step-Outline-to-Motivate-Goal-Accomplishment-100x100.jpg
但是当我将链接从浏览器粘贴到记事本时,它显示:
http://www.tools4management.dreamhosters.com/wp-content/uploads/2015/06/The-POSITIVE-Model-of-Coaching-%E2%80%93-An-8-step-Outline-to-Motivate-Goal-Accomplishment-100x100.jpg
解决方案
唯一的解决方法是使用 Webview 而不是 ImageView。
最佳答案
您需要对 url 进行解码。
url = java.net.URLDecoder.decode(url, "UTF-8");
关于android - 用浏览器代码替换一些特殊字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30840787/