UrlEncode и браузер кодируют строки по-разному
☑
0
DirecTwiX
18.02.15
✎
00:24
Есть строка "абв". Браузер преобразует её к
%E0%E1%E2
а UrlEncode/EscapeUriString к
%D0%B0%D0%B1%D0%B2
Как получить первый вариант? C#
1
Asmody
18.02.15
✎
00:29
(0) вторая в юникоде
2
DirecTwiX
18.02.15
✎
00:44
(1) Да это вроде понятно. Как её в ASCII переделать?
Encoding.ASCII.GetBytes("абв")[0].ToString("X") выдаёт "3F" вместо "E0"
3
Asmody
18.02.15
✎
00:49
(2) почему ASCII? win-1251 наверно
4
DirecTwiX
18.02.15
✎
01:08
(3) Наверно) Спасибо :)
private static string UTFtoWin(string s)
{
string res = "";
Encoding enc = Encoding.GetEncoding("windows-1251");
byte[] byteString = enc.GetBytes(s);
foreach (byte b in byteString)
{
res += "%" + b.ToString("X");
}
return res;
}
5
DirecTwiX
18.02.15
✎
01:13
private static string UTFtoWin(string s)
{
string res = "";
Encoding enc = Encoding.GetEncoding("windows-1251");
byte[] byteString = enc.GetBytes(s);
foreach (byte b in byteString)
{
res += "%" + b.ToString("X");
}
return res;
}
6
DirecTwiX
18.02.15
✎
01:14
Я пытался.. :@
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс