.net c#编码转换?
我有一个字符串,看起来像:.net c#编码转换?,.net,html,encoding,.net,Html,Encoding,我有一个字符串,看起来像: À l'intérieur 但它必须是: À l'intérieur 我试着改变转换。我知道它读作ASCII编码。所以我试着使用代码: ASCIIEncoding ASCII = new System.Text.ASCIIEncoding(); Byte[] BytesMessage = ASCII.GetBytes(Title); Title = Encoding.U
À l'intérieur
但它必须是:
À l'intérieur
我试着改变转换。我知道它读作ASCII编码。所以我试着使用代码:
ASCIIEncoding ASCII = new System.Text.ASCIIEncoding();
Byte[] BytesMessage = ASCII.GetBytes(Title);
Title = Encoding.UTF8.GetString(BytesMessage);
我试着在不同的编码之间切换,但没有多大帮助。
有办法解决这个问题吗
谢谢 实际上,这不是字符编码(如ASCII或UTF-8),而是定义任意字符转义序列的更高级协议,在本例中,SGML是HTML和XML的基础 您可以使用类的方法对其进行解码:
PS> Add-Type -AssemblyName system.web
PS> [web.httputility]::HtmlDecode("À l'intérieur")
À l'intérieur
但是,此类驻留在System.Web命名空间中,因此它可能无法立即在非ASP.NET项目中使用。要转换像这样的HTML编码字符串,请使用
System.Web.HttpUtility.HtmlCode(Title)
。如果这不是一个Web应用程序,您需要引用System.Web
。这两个字符串之间有什么区别?这两个字符串之间没有什么区别…我已经编辑过,markdown+html正在给出答案,初始字符串现在正确吗?如果这是HTML编码的,符号和#字符之间似乎有空格。非常感谢!这就是我需要的。准确地说,对其他人来说。它是HttpUtility.HtmlDecode(Title)。呜呜呜+对于Powershell示例,这是在.NET中测试某些内容的最简单方法,而无需实际启动Visual Studio、打开数十个ConsoleProject1解决方案中的一个解决方案等:-)