не может определить строковое кодирование - PullRequest
0 голосов
/ 29 июня 2011

Какую кодировку мне нужно использовать для кодирования строки document.write('website%40site.com');, чтобы она выглядела как строка ниже?

% 64% 6f% 63% 75% 6d% 65% 6e% 74% 2e% 77% 72% 69% 74% 65% 28% 27% 3c% 61% 20% 68% 72% 65% 66% 3d% 5c% 22% 6d% 61% 69% 6c% 74% 6f% 3a% 63% 68% 75% 6d% 61% 6б% 73% 68% 6c% 69% 61% 68% 40% 6d% 61% 69% 6c% 2e% 72% 75% 5c% 22% 3e% 63% 68% 75% 6d% 61% 6б% 73% 68% 6c% 69% 61% 68% 40% 6d% 61% 69% 6c% 2e% 72% 75% 3c% 5c% 2f% 61% 3e% 27% 29% 3b

Ответы [ 4 ]

2 голосов
/ 29 июня 2011

Это нормально закодированный ASCII:

%3c%5c%2f%61%3e = <\/a>

и редко можно увидеть кодировку ASCII таким образом, с другой стороны, Unicode - нет.

1 голос
/ 29 июня 2011

Это тот же тип кодирования, что и кодирование URL, за исключением того, что кодируются все символы, а не только те, которые действительно требуют кодирования. Каждый байт преобразуется в двузначное шестнадцатеричное число с префиксом %.

Вы можете закодировать строку, используя UTF-8, а затем преобразовать каждый байт в шестнадцатеричный код:

string encoded = String.Concat(
  Encoding.UTF8.GetBytes("document.write('website%40site.com');")
  .Select(b => "%" + b.ToString("x2"))
  .ToArray()
);
1 голос
/ 29 июня 2011

Вот онлайн кодер / декодер , который делает то, что вы хотите.

1 голос
/ 29 июня 2011

Это либо ASCII, либо UTF-8, либо один из 8-битных надмножеств ASCII.Точно сказать невозможно.

Лучше всего прочитать документацию по любой функции или программе, в которую вы пытаетесь ее передать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...