Android Studio中复制阿拉伯语链接出现URL编码问题如何解决?
解决Android Studio中阿拉伯语链接自动编码的问题
这事儿我之前也碰到过!其实这种编码是URL的标准操作啦,因为HTTP协议要求URL里只能包含ASCII字符,所以非英文的字符(比如阿拉伯语)会被自动转成%XX的编码格式。不过要处理也很简单,分几种情况给你说:
如果只是想查看解码后的原链接:可以用编程语言自带的解码工具。比如在Kotlin里,你可以这样解码:
import java.net.URLDecoder val encodedUrl = "https://www.almaany.com/ar/name/%D8%A7%D8%AF%D9%87%D9%85/" val decodedUrl = URLDecoder.decode(encodedUrl, "UTF-8") println(decodedUrl) // 输出就是你原来的阿拉伯语链接Java的写法类似,用
java.net.URLDecoder类就行。如果要在代码中使用这个链接发起请求:完全不用手动修改编码后的链接!不管是用
HttpURLConnection还是OkHttp这类网络库,它们都会自动处理编码和解码逻辑。你直接用编码后的链接,或者直接写原阿拉伯语的链接都可以,库会帮你把请求处理正确。要是你需要自己构造带非ASCII字符的URL,推荐用
Uri.Builder来构建,它会自动帮你处理编码,避免手动出错:import android.net.Uri val uri = Uri.Builder() .scheme("https") .authority("www.almaany.com") .appendPath("ar") .appendPath("name") .appendPath("ادهم") .build() val finalUrl = uri.toString() // 这里会自动生成正确的编码链接如果只是想在编辑器里保留原链接的显示:直接在代码里输入原阿拉伯语的链接字符串就行,比如:
val originalUrl = "https://www.almaany.com/ar/name/ادهم/"Android Studio可能在某些视图下还是会显示编码后的形式,但编译和运行时都会正常处理,不会影响功能。
内容的提问来源于stack exchange,提问作者user2764693
相关产品推荐
相关产品推荐

