Tag: character encoding

在utf-8 json上逃脱重音字符

下面的代码生成此输出: {“x”: “Art. 120 – Incapacità di intendere o di volere”} 我需要改变这个,我想我要改变编码的东西,但我不知道: {“x”: “Art. 120 – Incapacit\u00e0 di intendere o di volere”} 码: string label = “Art. 120 – Incapacità di intendere o di volere”; JObject j = new JObject(); j.Add(new JProperty(“x”, label)); string s = j.ToString(); Encoding encoding = new UTF8Encoding(false); string filename = […]

如何以正确的字符串forms获取httpWebresponse的内容?

有时我会从几个网站得到一些乱码回复。 这是我的代码: Stream responseStream = response.GetResponseStream(); buffer = new Byte[256];// int bytesRead; while ((bytesRead = responseStream.Read(buffer, 0, buffer.Length)) > 0) { outStream.Write(buffer, 0, bytesRead); //resp=resp+ .UTF8.GetString(buffer, 0, bytesRead); resp=resp + Encoding.ASCII.GetString(buffer); //resp is string } 当我从www.google.co.in请求时,我在resp字符串中得到以下字符: ?\ B \ 0 \ 0 \ 0 \ 0 \ 0ερ}ÿ·F ?????????Ž?????? {7米??? OX吗?\ r?ÿ??? 33 ?? d; […]

如何将特殊字符(0x80..0x9F)写入Windows控制台?

我想要这个代码: System.Console.Out.WriteLine (“œil”); 在我的测试程序中显示œil而不是oil 。 在我的系统上, Console.OutputEncoding默认设置为Western European (DOS) ( CodePage设置为850, WindowsCodePage设置为1252)。 字符集包含特殊的OE和oe diphtongs(可以在Windows-1252上的维基百科文章中看到),但不知何故,我怀疑ISO-8859-1集中找不到的字符被丢弃/替换。 诸如â , ç等字符在控制台上正确显示,但扩展0x80 … 0x9F范围内的任何字符都没有。 如何在控制台上正确显示它们?

为什么Char.IsDigit对于无法解析为int的字符返回true?

我经常使用Char.IsDigit检查char是否是一个数字,在LINQ查询中特别方便,以预先检查int.Parse如下所示: “123”.All(Char.IsDigit) 。 但是有些字符是数字,但不能像۵一样解析为int 。 // true bool isDigit = Char.IsDigit(‘۵’); var cultures = CultureInfo.GetCultures(CultureTypes.SpecificCultures); int num; // false bool isIntForAnyCulture = cultures .Any(c => int.TryParse(‘۵’.ToString(), NumberStyles.Any, c, out num)); 这是为什么? 我的int.Parse -precheck是否通过Char.IsDigit错误? 有310个字符是数字: List digitList = Enumerable.Range(0, UInt16.MaxValue) .Select(i => Convert.ToChar(i)) .Where(c => Char.IsDigit(c)) .ToList(); 这是.NET 4(ILSpy)中Char.IsDigit的实现: public static bool IsDigit(char c) { if […]

将vcards转换为Windows-1252

我正在尝试用C#编写一个程序,它将带有多个联系人的vCard(VCF)文件拆分为每个联系人的单个文件。 据我所知,vCard需要保存为ANSI(1252),大多数手机才能读取它们。 但是,如果我使用StreamReader打开VCF文件,然后使用StreamWriter将其写回(将1252设置为编码格式),则所有特殊字符(如å , æ和ø被写为? 。 当然ANSI(1252)会支持这些字符。 我该如何解决? 编辑:这是我用来读写文件的代码片段。 private void ReadFile() { StreamReader sreader = new StreamReader(sourceVCFFile); string fullFileContents = sreader.ReadToEnd(); } private void WriteFile() { StreamWriter swriter = new StreamWriter(sourceVCFFile, false, Encoding.GetEncoding(1252)); swriter.Write(fullFileContents); }