首页 > 解决方案 > 对于我期望的值,正确的 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”而不是“+”的格式

标签: javakotlinurlurlencode

解决方案


推荐阅读