本文共 442 字,大约阅读时间需要 1 分钟。
另外,安卓6以上系统使用HttpURLConnection时会针对中文等特殊字符自动转换后访问,无需再使用本函数。
URLEncoder.encode
会将包括:/在内的所有字符都进行转换,因此无法直接使用,需要配合正则表达式才能达到目的。
fun replaceChineseCharacters(string: String?) : String? { //安卓6以上自动转换,无需再用此函数 if (android.os.Build.VERSION.SDK_INT > android.os.Build.VERSION_CODES.M) return string else return string?.replace(Regex("(?<=/)[\\w\\s\\d\\u4e00-\\u9fa5.-]+(?=/?)")) { match -> return@replace URLEncoder.encode(match.value, "UTF-8") }}
转载地址:http://bhmws.baihongyu.com/