java - 对于我期望的值,正确的 URL 编码库是什么?
问题描述
我有点卡在 URL 编码解决方案中。我有需要正确编码的图像 URL。
val input = "/image/gesichts-zwiebäck, und andere.jpg"
val encoded = "%2Fimage%2Fgesichts-zwieb%C3%A4ck%2C%20und%20andere.jpg"
我使用https://meyerweb.com/eric/tools/dencoder/来确定预期的结果应该是什么。
所以这是我创造价值的input
代码encoded
。
import com.myapp.model.Media
import org.apache.http.client.utils.URLEncodedUtils
class MediaUrlEncoder {
fun encode(media: Media) {
val url = media.url
val segments = URLEncodedUtils.parse(url, Charsets.UTF_8)
media.url = URLEncodedUtils.format(segments, Charsets.UTF_8)
}
}
我的单元测试给了我这个
Expecting:
<"%2Fimage%2Fgesichts-zwieb%EF%BF%BDck%2C+und+andere.jpg">
to be equal to:
<"%2Fimage%2Fgesichts-zwieb%C3%A4ck%2C%20und%20andere.jpg">
看起来我使用了错误的编码格式,但老实说我不知道在这里使用哪一种?作为一项要求,我可以说我需要将这些图像存储在 Thumbor 和 Google Cloud Storage 中。所以我需要找到一种将空格“”变成“%20”而不是“+”的格式