Tag: 编码

如何从串口读取时应用编码

我正在从串口读取数据。 我看了这篇post: http : //social.msdn.microsoft.com/Forums/en-US/vbgeneral/thread/a709d698-5099-4e37-9e10-f66ff22cdd1e 他正在撰写我遇到的许多问题,但在他的写作中他提到使用:System.Text.Encoding.GetEncoding(“Windows-1252”)。 我遇到的问题是何时以及如何应用此问题。 我认为有三个地方点。 定义串口对象时: private SerialPort comport = new SerialPort(); 事件处理程序: comport.DataReceived += new SerialDataReceivedEventHandler(port_DataReceived); 或者在阅读数据时: string data = comport.ReadExisting(); 无论我在哪里添加它。 我似乎得到了错误。 如何使用编码?

C#中的自动编码检测

可能重复: 在C#中确定字符串的编码 许多文本编辑器(如Notepad ++)可以检测任意文件的编码。 我可以在C#中检测到文件的编码吗?

如何在文件编码未知时使用ReadAllText

我正在使用ReadAllText读取文件 String[] values = File.ReadAllText(@”c:\\c\\file.txt”).Split(‘;’); int i = 0; foreach (String s in values) { System.Console.WriteLine(“output: {0} {1} “, i, s); i++; } 如果我试着阅读一些文件,我有时会得到错误的字符(对于ÖÜÄ……)。 输出就像’?’,因为编码存在一些问题: output: 0 TEST output: 1 A??O? 一种解决方案是在ReadAllText中设置编码,比如ReadAllText(@”c:\\c\\file.txt”, Encoding.UTF8)可以修复问题。 但是,如果我仍然会得到’?’ 作为输出? 如果我不知道文件的编码怎么办? 如果每个文件都有不同的编码怎么办? 用c#做最好的方法是什么? 谢谢

在.NET 4.5中使用HttpClient进行编码

我正在使用fogbugz XML API消耗一些数据。 此API始终以UTF-8提供数据。 当使用WebClient类发出请求时,我可以设置编码。 例如: var result = new WebClient(); result.Encoding = Encoding.UTF8; 但是HttpClient类怎么样? HttpClient client = new HttpClient(); 我应该使用: client.GetByteArrayAsync(url); …然后将编码中的字节(UTF-8)转换为字符串? 或者有没有办法直接将内容作为UTF-8字符串? using (var client = Connector.GetHttpClient()) { var byteData = await client.GetByteArrayAsync(url); data = Encoding.UTF8.GetString(byteData); } 最后,这里是XML响应的摘录:

如何修复空格的UTF编码?

在我的C#代码中,我从PDF文档中提取文本。 当我这样做时,我得到一个UTF-8或Unicode编码的字符串(我不确定哪个)。 当我使用Encoding.UTF8.GetBytes(src); 要将它转换为字节数组,我注意到空格实际上是两个字符值为194和160的字符。 例如,字符串“CLE action”看起来像 [67, 76, 69, 194 ,160, 65 ,99, 116, 105, 111, 110] 在一个字节数组中,空格是194和160 ……并且因为这个src.IndexOf(“CLE action”); 当我需要它返回1时返回-1。 如何修复字符串的编码?

从控制台读取unicode

我试图从C#中的控制台读取unicode字符串,例如,让我使用他的: C:\ SVN \D³ebugger的\ src \виталик\的Program.cs 起初我刚试过Console.ReadLine() ,它返回给我c:\SVN\D3ebugger\src\???????\Program.cs 我已经尝试将Console.InputEncoding设置为UTF8,因为Console.InputEncoding = Encoding.UTF8但是返回了我c:\SVN\D³ebugger\src\???????\Program.cs ,基本上是在c:\SVN\D³ebugger\src\???????\Program.cs西里尔字母串的一部分。 所以随机磕磕绊绊我尝试设置这样的编码, Console.InputEncoding = Encoding.GetEncoding(1251); 它返回了c:\SVN\D?ebugger\src\виталик\Program.cs ,这次破坏了³字符。 此时似乎通过切换InputStream的编码 ,我一次只能获得一种语言。 我也尝试过去做这样的事情: // Code public static string ReadLine() { const uint nNumberOfCharsToRead = 1024; StringBuilder buffer = new StringBuilder(); uint charsRead = 0; bool result = ReadConsoleW(GetStdHandle(STD_INPUT_HANDLE), buffer, nNumberOfCharsToRead, out charsRead, (IntPtr)0); // Return the input […]

c#从字节数组中检测xml编码?

好吧,我有一个字节数组,我知道它在字节数组中的xml serized对象是否有任何方法可以从中获取编码? 我不打算去除它,但我将它保存在SQL服务器上的xml字段中…所以我需要将其转换为字符串?

将中文字符转换为Unicode

假设我有一个随机的汉字,玩。 我想将它转换为Unicode,即U + 73A9。 我怎么能在C#中做到这一点?

如何正确地提供PDF文件

我使用的是.NET 3.5 ASP.NET。 目前,我的网站以下列方式提供PDF文件: context.Response.WriteFile(@”c:\blah\blah.pdf”); 这很好用。 但是,我想通过context.Response.Write(char [], int, int)方法来提供它。 所以我尝试通过发送文件 byte [] byteContent = File.ReadAllBytes(ReportPath); ASCIIEncoding encoding = new ASCIIEncoding(); char[] charContent = encoding.GetChars(byteContent); context.Response.Write(charContent, 0, charContent.Length); 这没用(例如浏览器的PDF插件抱怨文件已损坏)。 所以我尝试了Unicode方法: byte [] byteContent = File.ReadAllBytes(ReportPath); UnicodeEncoding encoding = new UnicodeEncoding(); char[] charContent = encoding.GetChars(byteContent); context.Response.Write(charContent, 0, charContent.Length); 这也没用。 我错过了什么?

C#和HtmlAgilityPack编码问题

WebClient GodLikeClient = new WebClient(); HtmlAgilityPack.HtmlDocument GodLikeHTML = new HtmlAgilityPack.HtmlDocument(); GodLikeHTML.Load(GodLikeClient.OpenRead(“www.alfa.lt”); 所以这段代码回复:“Skaitytojo klausimas psichologui:kaslemiahomoseksualumÄ…? – NaujienųportalasAlfa.lt”而不是“Skaitytojo klausimas psichologui:kaslemiahomoseksualumą? – NaujienųportalasAlfa.lt”。 这个网页编码在1257(波罗的海),但textBox1.Text = GodLikeHTML.DocumentNode.OuterHtml; 返回扭曲的文本 – 波罗的海变音符被转换成一些奇怪的几个字符长字符串:( 是的,我已经尝试过HtmlAgilityPack论坛了。 他们很糟糕。 PS我不是程序员,但我在社区项目上工作,我真的需要让这段代码工作。 谢谢 ;}