无法识别字符串编码

时间:2011-06-29 13:59:08

标签: c# encoding

我需要使用什么编码对字符串document.write('website%40site.com');进行编码,使其看起来像下面的字符串?

  

%64%1207%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%1207%3A%63%68%75%图6d%61%图6b%73%68%图6c%69%61%68%40%图6d%61% 69%6C%2E%72%75%5℃%22%3E%63%68%75%图6d%61%图6b%73%68%图6c%69%61%68%40%图6d%61%69%图6c%图2e%72%75%3C%5C%2F%61%3E%27%29%3B

4 个答案:

答案 0 :(得分:2)

这是正常编码的ASCII:

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

并且很少看到这样的ASCII编码,而另一方面则不是。

答案 1 :(得分:1)

这是ASCII或UTF-8或ASCII的8位超集之一。不可能肯定地说。

您最好的选择是阅读您尝试传递给它的任何功能或程序的文档。

答案 2 :(得分:1)

这是online encoder/decoder,可以满足您的需求。

答案 3 :(得分:1)

这与URL编码的编码类型相同,只是编码所有字符而不是实际需要编码的字符。每个字节都转换为两位十六进制数字,前缀为%

您可以使用UTF-8对字符串进行编码,然后将每个字节转换为十六进制代码:

string encoded = String.Concat(
  Encoding.UTF8.GetBytes("document.write('website%40site.com');")
  .Select(b => "%" + b.ToString("x2"))
  .ToArray()
);