예를 들어 Google에서 코드를 얻습니다. 다음 예제에서는 문자열에 ASCII가 아닌 문자가 포함되어 있습니다. 내가 원하는 것은 모두 ASCII 문자열로 변환 할 수있는 함수를 작성하는 것입니다. 여기 문자열을 16 진수 문자로 변환하는 방법
{e:"vLuDULDKEomjiAfgo4CwBg",c:0,u:"https://www.google.com/complete/search?client\x3dserp\x26hl\x3den\x26sugexp\x3dles%3B\x26gs_nf\x3d3\x26pq\x3dC%23%20decode%20hex%20string%20to%20string\x26cp\x3d11\x26gs_id\x3d3w8\x26xhr\x3dt\x26q\x3dhow%20to%20conv\x26tch\x3d1\x26ech\x3d78\x26psi\x3dDrqDUKC_I86fiAfLrYCgCw.1350810126009.3",d:"[\x22how to conv\x22,[[\x22how to conv\\u003Cb\\u003Eert pdf to word\\u003C\\/b\\u003E\x22,0,[]],[\x22how to conv\\u003Cb\\u003Eert flv to mp3\\u003C\\/b\\u003E\x22,0,[]],[\x22how to conv\\u003Cb\\u003Eert prc to pdf\\u003C\\/b\\u003E\x22,0,[]],[\x22how to conv\\u003Cb\\u003Eert jpg to pdf\\u003C\\/b\\u003E\x22,0,[]],[\x22how to conv\\u003Cb\\u003Eert pdf to epub\\u003C\\/b\\u003E\x22,0,[]],[\x22how to conv\\u003Cb\\u003Eert cr2 to jpeg\\u003C\\/b\\u003E\x22,0,[]],[\x22how to conv\\u003Cb\\u003Eert pdf to excel\\u003C\\/b\\u003E\x22,0,[]],[\x22how to conv\\u003Cb\\u003Eert amr to mp3\\u003C\\/b\\u003E\x22,0,[]],[\x22how to conv\\u003Cb\\u003Eert prc to epub\\u003C\\/b\\u003E\x22,0,[]],[\x22how to conv\\u003Cb\\u003Eert flv to avi\\u003C\\/b\\u003E\x22,0,[]]],{\x22j\x22:\x223w8\x22,\x22q\x22:\x22HhWOfQJyxGUsSNB1855GU4lNjzU\x22}]"}/*""*/
내가 가지고있는 기능이지만 위의 문자열로 작동하지 않습니다 답장을
public static string DecodeHex(string data)
{
data = data.Replace("\x22", @"""");
data = data.Replace("\x23", "#");
data = data.Replace("\x24", "$");
data = data.Replace("\x25", "%");
data = data.Replace("\x26", "&");
data = data.Replace("\x27", "'");
data = data.Replace("\x28", "(");
data = data.Replace("\x29", ")");
data = data.Replace("\x2a", "*");
data = data.Replace("\x2b", "+");
data = data.Replace("\x2c", ",");
data = data.Replace("\x2d", "-");
data = data.Replace("\x2e", ".");
data = data.Replace("\x2f", "/");
data = data.Replace("\x30", "0");
data = data.Replace("\x31", "1");
data = data.Replace("\x32", "2");
data = data.Replace("\x33", "3");
data = data.Replace("\x34", "4");
data = data.Replace("\x35", "5");
data = data.Replace("\x36", "6");
data = data.Replace("\x37", "7");
data = data.Replace("\x38", "8");
data = data.Replace("\x39", "9");
data = data.Replace("\x3a", ":");
data = data.Replace("\x3b", ";");
data = data.Replace("\x3c", "<");
data = data.Replace("\x3d", "=");
data = data.Replace("\x3e", ">");
data = data.Replace("\x3f", "?");
return data;
}
감사합니다.
이 함수는 열린보다 적은 오버 헤드를 갖는다에게()를 사용할 수있다. 다른 유사한 디코딩 시나리오의 경우 http://blogs.msdn.com/b/yangxind/archive/2006/11/09/don-t-use-net-system-uri-unescapedatastring-in-url-decoding. aspx – K3N