pull/32/head
parent
10b0e1266b
commit
be93369a4e
@ -0,0 +1,29 @@ |
|||||||
|
package io.legado.app.utils |
||||||
|
|
||||||
|
object Encoder { |
||||||
|
|
||||||
|
fun escape(src: String): String { |
||||||
|
var i = 0 |
||||||
|
var char: Char |
||||||
|
val tmp = StringBuilder() |
||||||
|
tmp.ensureCapacity(src.length * 6) |
||||||
|
while (i < src.length) { |
||||||
|
char = src[i] |
||||||
|
if (Character.isDigit(char) || Character.isLowerCase(char) |
||||||
|
|| Character.isUpperCase(char) |
||||||
|
) |
||||||
|
tmp.append(char) |
||||||
|
else if (char.toInt() < 256) { |
||||||
|
tmp.append("%") |
||||||
|
if (char.toInt() < 16) |
||||||
|
tmp.append("0") |
||||||
|
tmp.append(char.toInt().toString(16)) |
||||||
|
} else { |
||||||
|
tmp.append("%u") |
||||||
|
tmp.append(char.toInt().toString(16)) |
||||||
|
} |
||||||
|
i++ |
||||||
|
} |
||||||
|
return tmp.toString() |
||||||
|
} |
||||||
|
} |
Loading…
Reference in new issue