本文主要是介绍安卓Kotlin 安卓6及以下 使用HttpURLConnection时 转换url路径中的汉字,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
URLEncoder.encode
会将包括:/在内的所有字符都进行转换,因此无法直接使用,需要配合正则表达式才能达到目的。
另外,安卓6以上系统使用HttpURLConnection时会针对中文等特殊字符自动转换后访问,无需再使用本函数。
fun replaceChineseCharacters(string: String?) : String? {//安卓6以上自动转换,无需再用此函数if (android.os.Build.VERSION.SDK_INT > android.os.Build.VERSION_CODES.M) return stringelse return string?.replace(Regex("(?<=/)[\\w\\s\\d\\u4e00-\\u9fa5.-]+(?=/?)")) { match ->return@replace URLEncoder.encode(match.value, "UTF-8")}
}
这篇关于安卓Kotlin 安卓6及以下 使用HttpURLConnection时 转换url路径中的汉字的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!