Tag: 编码

如何在C#中对字符串进行URL编码

我们如何使用C#中的URL(RFC 1738)标准对字符串进行编码? 以下在线工具使用此标准转换字符串http://www.freeformatter.com/url-encoder.html 我想要转换的字符串的一个示例是test(brackets) ,编码的字符串应如下所示: test%28brackets%29

为什么我不能将XDocument XDeclaration编码类型设置为iso-8859-1?

为什么下面的代码没有设置XML声明编码类型? 它总是将编码设置为utf-16。 我错过了一些非常明显的事吗? var xdoc = new XDocument( new XDeclaration(“1.0”, “iso-8859-1”, null), new XElement(“root”, “”) ); 输出:

XslCompiledTransform使用UTF-16编码

我有以下代码,我想使用UTF-8编码格式输出xml数据。 但它始终以UTF-16输出数据: XslCompiledTransform xslt = new XslCompiledTransform(); xslt.Load(XmlReader.Create(new StringReader(xsltString), new XmlReaderSettings())); StringBuilder sb = new StringBuilder(); XmlWriterSettings writerSettings = new XmlWriterSettings(); writerSettings.Encoding = Encoding.UTF8; writerSettings.Indent = true; xslt.Transform(XmlReader.Create(new StringReader(inputXMLToTransform)), XmlWriter.Create(sb, writerSettings));

从查询字符串中获取U + fffd / 65533而不是特殊字符

我有一个C#.net web项目,其全球标记设置为: 当此URL为Flash应用程序时(在浏览器中手动输入URL时会出现同样的问题):c_product_search.aspx?search =kjøkken(或者:c_product_search-aspx?search = kj%F8kken 两者都返回以下字符代码: k U+006b 107 j U+006a 106 U+fffd 65533 k U+006b 107 k U+006b 107 e U+0065 101 n U+006e 110 我不太了解字符编码,但似乎ø已被赋予unicode替换字符,对吧? 我试图将全球化标签更改为: 这使得请求工作。 但是,现在,我页面上的其他搜索停止了工作。 我也尝试了以下类似的结果: NameValueCollection qs = HttpUtility.ParseQueryString(Request.QueryString.ToString(), Encoding.GetEncoding(“iso-8859-1”)); string search = (string)qs[“search”]; 我该怎么办? 亲切的问候, nitech

如何查找1251代码页的编码

我需要为1251代码页创建System.Encoding。 在我的俄语Windows上我使用 Encoding encoding = Encoding.Default 我担心这会产生不同的结果,具体取决于Windows

C# – .NET和CF.NET的代码编译器

我有一个需要使用.NET和Compact .NET Framework编译的项目。 有可能创建一个C#编译器,用两个框架编译我的项目吗? CF.NET Framework中没有一些function,所以我自己创建它(创建与.NET Framework中具有完全相同名称和选项的类。如果我使用类似[CF35]的属性来解析这些类,则可以解析项目和: 使用CF.NET编译项目时使用此类 使用.NET编译项目时忽略此类 ? 感谢所有建设性的答案。 [编辑] 我知道解决方案包括创建两个引用相同文件的项目。 问题是,你应该每次都手动编译。 此外,当你将一个文件添加到一个文件时,你需要打开第二个文件并引用它,它只是无聊而且根据我们很多人来处理同一个项目,我想自动完成这个部分。 似乎可能吗? [编辑2]除了……资源文件外,一切正常! 所以,要恢复,我有三个项目: 开发项目(CF.NET) 发布项目(CF.NET 3.5),包括所有文件通过“” 发布项目(NET 3.5),包括所有文件“” 如上所述,一切正常,但现在我的问题是使用资源文件。 申请使用它的方法是什么? 当我使用开发项目时,正确检索资源文​​件 当我使用另外两个项目时,ResourceManager会抛出MissingManifestResourceException 任何的想法?

C#将字符串转换为其byte 等价物

在这一点上,大多数人都会想“这个病了啊……” byte[] dataB= System.Text.Encoding.ASCII.GetBytes(data); 但是..我遇到的问题是我需要字节的确切值,没有编码只是每个字节的纯值。 例如,如果字符串的值是(0xFF32),我希望它也将它转换为{255,50}。 他的理由是我有一个文件格式我试图读取哪些存储int作为字节保存它们然后在程序打开时读取它们。 这是我到目前为止: … dialog.InitialDirectory = Environment.GetFolderPath(System.Environment.SpecialFolder.Desktop) + “/Test”; dialog.Title=”Open File”; if (dialog.ShowDialog(this) == DialogResult.OK) { StreamReader reader = new StreamReader(dialog.FileName); string data = reader.ReadToEnd(); reader.Close(); byte[] fileC = System.Text.Encoding.ASCII.GetBytes(data); File_Read(dialog.FileName,fileC); } … 因此,当我尝试读取文件时,它会将0xFF的文件修改为0x3F,因为0xFF大于127且0x3F是? 对不起,如果我看起来有点混乱:) 谢谢,迈克尔

如何获得UTF-16字节数组?

我有一个UTF-8字符串,我需要获得UTF-16编码的字节数组,那么如何将我的字符串转换为UTF-16字节数组? 更新: 我的意思是我们有Encoding.Unicode.GetBytes()甚至Encoding.UTF8.GetBytes()函数来获取字符串的字节数组,那么UTF-16呢? 我们没有任何Encoding.UTF16.GetBytes()所以如何获取字节数组?

将Latin 1编码的UTF8转换为Unicode

我试图将以UTF8编码的数据库从它看起来转换成Windows 1251编码(不要问,但我需要这样做)。 数据库中所有俄语编码字符都显示为абвгВÐ。 当我将它们从数据库中拉出到我的C#应用​​程序中,进入字符串时,我仍然看到абвгВÐ。 无论我尝试将此字符串解释为UTF8编码的字符串,它似乎被解释为latin1单字节字符串,并且我没有看到我的文本显示为俄语。 我基本上需要做的是将这个latin1 looking-utf8编码的字符串转换为Unicode,以便我可以将其转换为1251,但我无法成功完成此操作。 有人有任何想法吗?

通过TcpClient(byte )发送包含特殊字符的字符串

我正在尝试通过TcpClient(byte [])发送包含特殊字符的字符串。 这是一个例子: 客户在文本框中输入“amé” 客户端使用特定编码将字符串转换为byte [] (我已经尝试了所有预定义的加上一些像“iso-8859-1”) 客户端通过TCP发送byte [] 服务器接收并输出使用相同编码重新转换的字符串(到列表框) 编辑: 我忘了提到结果字符串是“我?”。 编辑-2(根据要求,这里是一些代码): @DJKRAZE这里有一些代码: byte[] buffer = Encoding.ASCII.GetBytes(“amé”); (TcpClient)server.Client.Send(buffer); 在服务器端: byte[] buffer = new byte[1024]; Client.Recieve(buffer); string message = Encoding.ASCII.GetString(buffer); ListBox1.Items.Add(message); 列表框中显示的字符串是“am?” ===解决方案=== Encoding encoding = Encoding.GetEncoding(“iso-8859-1”); byte[] message = encoding.GetBytes(“babé”); 更新: 只需使用Encoding.Utf8.GetBytes(“ééé”); 奇迹般有效。