নেট। 4.5+ ব্যবহার করুন WebUtility
কেবল বিন্যাসের জন্য আমি এটিকে উত্তর হিসাবে জমা দিচ্ছি।
তাদের তুলনা করে কোনও ভাল উদাহরণ পাওয়া যায় নি:
string testString = "http://test# space 123/text?var=val&another=two";
Console.WriteLine("UrlEncode: " + System.Web.HttpUtility.UrlEncode(testString));
Console.WriteLine("EscapeUriString: " + Uri.EscapeUriString(testString));
Console.WriteLine("EscapeDataString: " + Uri.EscapeDataString(testString));
Console.WriteLine("EscapeDataReplace: " + Uri.EscapeDataString(testString).Replace("%20", "+"));
Console.WriteLine("HtmlEncode: " + System.Web.HttpUtility.HtmlEncode(testString));
Console.WriteLine("UrlPathEncode: " + System.Web.HttpUtility.UrlPathEncode(testString));
//.Net 4.0+
Console.WriteLine("WebUtility.HtmlEncode: " + WebUtility.HtmlEncode(testString));
//.Net 4.5+
Console.WriteLine("WebUtility.UrlEncode: " + WebUtility.UrlEncode(testString));
আউটপুট:
UrlEncode: http%3a%2f%2ftest%23+space+123%2ftext%3fvar%3dval%26another%3dtwo
EscapeUriString: http://test#%20space%20123/text?var=val&another=two
EscapeDataString: http%3A%2F%2Ftest%23%20space%20123%2Ftext%3Fvar%3Dval%26another%3Dtwo
EscapeDataReplace: http%3A%2F%2Ftest%23+space+123%2Ftext%3Fvar%3Dval%26another%3Dtwo
HtmlEncode: http://test# space 123/text?var=val&another=two
UrlPathEncode: http://test#%20space%20123/text?var=val&another=two
//.Net 4.0+
WebUtility.HtmlEncode: http://test# space 123/text?var=val&another=two
//.Net 4.5+
WebUtility.UrlEncode: http%3A%2F%2Ftest%23+space+123%2Ftext%3Fvar%3Dval%26another%3Dtwo
নেট। 4.5+ ব্যবহার করুন WebUtility
.UrlEncode
এটি HttpUtility.UrlEncode
আরও সাধারণ অক্ষরের জন্য প্রতিলিপি (প্রি-ভি 4.0) প্রদর্শিত হবে :
Uri.EscapeDataString(testString).Replace("%20", "+").Replace("'", "%27").Replace("~", "%7E")
দ্রষ্টব্য: EscapeUriString
একটি বৈধ ইউরি স্ট্রিং রাখবে, যার কারণে এটি যতটা সম্ভব প্লেইনেক্সট অক্ষর ব্যবহার করে।
বিভিন্ন এনকোডিংয়ের তুলনা করে একটি সারণীর জন্য এই উত্তরটি দেখুন:
https://stackoverflow.com/a/11236038/555798
লাইন ব্রেক
তাদের সমস্ত এখানে (ব্যতীত অন্য তালিকাভুক্ত HttpUtility.HtmlEncode
) রূপান্তর করবে "\n\r"
মধ্যে %0a%0d
বা%0A%0D
দয়া করে এটিকে সম্পাদনা করতে এবং আমার পরীক্ষার স্ট্রিংয়ে নতুন অক্ষর যুক্ত করতে বা মন্তব্যগুলিতে রেখে দিন এবং আমি এটি সম্পাদনা করব।