java - 使用格式化文本在 TextView 中显示解码的 URL
问题描述
我有许多字符串可以包含使用 HTML 标记和 URL 链接格式化的文本。为了显示这些字符串,我使用Html.fromHtml()
了 ,这种方法完美地显示了格式化的字符串,但是某些链接可能包含非英文字符,这些字符看起来很难看,这是编码的原因。我试图URLDecoder.decode()
解码整个字符串,但它返回 aString
并且此方法破坏了Html.fromHtml()
返回的Spanned
。有没有办法在一个文本中同时显示解码的链接和格式化的文本?
示例字符串:
<b>Hello</b> <i><u>stack</u></i> look https://zh.wikipedia.org/wiki/%E9%A3%9E%E9%B9%B01%E7%BE%8E%E5%88%86%E7%A1%AC%E5%B8%81
解决方案
首先,您需要找到charsetName
如下所示的获取字符串和获取您的 HTML 字符串。
byte[] arrByteForCharSet = drugName.getBytes("charsetName");
//for example: ISO-8859-1
String outputStr = new String(arrByteForCharSet);
我希望它有所帮助。
推荐阅读
- javascript - 我如何在角度中找到先前路线的参数
- java - 插入方法中的数据是否应该尽可能原始?
- spring - 如何正确关闭带有路由的弹簧靴
- python - TensorFlow - 使用 tfa.metrics.CohenKappa 时,Tensorflow update_state() 缺少 1 个必需的位置参数:“y_pred”
- windows - 在不知道磁盘标签的情况下将目录更改为另一个磁盘
- postgresql - 支持数字和日期加减的功能
- python - 如何使 fontforge 成为 python 扩展
- python - Numpy 模块未找到错误与代码和 jupyter 笔记本
- csv - 如何防止 VSCode 删除 CSV 文件中行尾的制表符?
- curl - 如何将此 curl 命令更改为 python 请求命令?