Известно, что Android WebView 4.4 преобразует некоторые URL-адреса , в связанной проблеме приведены некоторые шаги, описанные, как это предотвратить.Из вашего вопроса не совсем ясно, основана ли ваша потребность на этом вопросе или на чем-то еще.
Вы можете замаскировать обратную косую черту и другие знаки с помощью соответствующего номера в таблице символов.В URL-адресах число записывается в шестнадцатеричном формате.
Hexadecimal: 5C
Dezimal: 92
Sign: \
К коду добавляется %
для каждого знака в URL-адресе, после замены ваш код выглядит следующим образом:
String myUri = "https://evil.example.com%5C%5C.good.example.org/";
// or
String myUri = "https://evil.example.com%5C%5C@good.example.org/";
может потребоваться добавить косую черту в отдельный домен и путь:
String myUri = "https://evil.example.com/%5C%5C.good.example.org/";
// or
String myUri = "https://evil.example.com/%5C%5C@good.example.org/";
Возможно ли, что обратные слеши вообще никогда не будут использоваться для связи по сети, а служат как выходящиедля некоторых процедур, таких как регулярные выражения или для вывода в JavaScript (Json) или для некоторых других шагов?
Bonus; -)
Ниже приведен php-скрипт, который печатаеттаблица для большинства знаков UTF-8 с соответствующими числами в шестнадцатеричном и разл.(он все еще должен быть заключен в HTML-шаблон, включая, возможно, css):
<?php
$chs = array('0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F');
$chs2 = $chs;
$chs3 = $chs;
$chs4 = $chs;
foreach ($chs as $ch){
foreach ($chs2 as $ch2){
foreach ($chs3 as $ch3){
foreach ($chs4 as $ch4){
echo '<tr>';
echo '<td>';
echo $ch.$ch2.$ch3.$ch4;
echo '</td>';
echo '<td>';
echo hexdec($ch.$ch2.$ch3.$ch4);
echo '</td>';
echo '<td>';
echo '&#x'.$ch.$ch2.$ch3.$ch4.';';
echo '</td>';
echo '</tr>';
}
}
}
}
?>