Tag: unicode

使用unicode字符读取文件

我有一个asp.net c#页面,我正在尝试读取具有以下字符的文件并将其转换为’。 (从倾斜的撇号到撇号)。 FileInfo fileinfo = new FileInfo(FileLocation); string content = File.ReadAllText(fileinfo.FullName); //strip out bad characters content = content.Replace(“‘”, “‘”); 这不起作用,它将倾斜的撇号变为? 分数。

如何从可能的Windows 1252’ANSI’编码上传文件转换为.NET中的UTF8?

我在ASP.NET网页中有一个FileUpload控件,用于上传文件,其中的内容(在流中)在后面的C#代码中处理,然后使用HtmlEncode在页面上输出。 但是,其中一些输出正在变得严重,特别是符号’£’作为Unicode FFFD REPLACEMENT CHARACTER输出。 我已将其跟踪到输入文件,即Windows 1252(’ANSI’)编码。 问题是, 如何确定文件是编码为1252还是UTF8? 它可能是,和 如果它在Windows 1252中,如何将其转换为UTF8,保留符号£等? 我看过网上但找不到满意的答案。

X.ToCharArray()。长度EQUALS GetBytes(X).Length

string s = “test”; int charCount = s.ToCharArray().Length; int byteCount = System.Text.Encoding.Default.GetBytes(s).Length; 什么时候可以(charCount!= byteCount)发生? 我相信Unicode字符但不是一般情况下。 .NET支持Unicode字符,但是.NET的默认(System.Text.Encoding.Default)编码是什么? “System.Text.Encoding.Default”将“System.Text.SBCSCodePageEncoding”显示为单字节编码。

正则表达式不匹配Unicode

我如何使用Regex匹配Unicode字符串? 我正在从文本文件中加载几个关键字,并在另一个文件中使用Regex。 关键字都包含unicode(例如á等)。 我不确定问题出在哪里。 我必须设置一些选项吗? 码: foreach (string currWord in _keywordList) { MatchCollection mCount = Regex.Matches( nSearch.InnerHtml, “\\b” + @currWord + “\\b”, RegexOptions.IgnoreCase); if (mCount.Count > 0) { wordFound.Add(currWord); MessageBox.Show(@currWord, mCount.ToString()); } } 并将关键字读入列表: var rdComp = new StreamReader(opnDiag.FileName); string compSplit = rdComp.ReadToEnd() .Replace(“\r\n”, “\n”) .Replace(“\n\r”, “\n”); rdComp.Dispose(); string[] compList = compSplit.Split(new[] {‘\n’}); 然后我将数组更改为列表。

正则表达式不使用Unicode字符范围

注意 另一个问题是C#正则表达式已经在模式中使用了\ Uxxxxxxxx字符 。 这个问题的不同之处在于它不是关于如何计算代理对,而是如何在正则表达式中表达高于0的unicode平面。 从我的问题中我应该清楚,我已经理解为什么这些代码单元被表示为2个字符 – 它们是代理对(这是另一个问题所要求的)。 我的问题是如何一般地转换它们(因为我无法控制正在使用该程序的正则表达式),因此它们可以被.NET Regex引擎使用。 注意我现在有办法做到这一点,并希望添加我的问题的答案,但由于现在标记为重复,我无法添加我的答案。 我有一些测试数据被传递给我移植到c#的Java库。 我已经将一个特定的问题案例作为一个例子。 原始中的字符类是UTF-32 = \U0001BCA0-\U0001BCA3 ,.NET不易消耗 – 我们得到”Unrecognized escape sequence \U”错误。 我试图转换为UTF-16,我已经确认\ U0001BCA0和\ U0001BCA3的结果应该是预期的。 UTF-32 | Codepoint | High Surrogate | Low Surrogate | UTF-16 ————————————————————————— 0x0001BCA0 | 113824 | 55343 | 56480 | \uD82F\uDCA0 0x0001BCA3 | 113827 | 55343 | 56483 | \uD82F\uDCA3 […]

试图让libmecab.dll(MeCab)与C#一起使用

我正在尝试在C#程序(Visual Studio 2010 Express,Windows 7)中使用日本形态分析器MeCab ,并且编码出了问题。 如果我的输入(粘贴到文本框中)是这样的: 一方,広义の「ネコ」は,ネコ类(ネコ科动物)の一部,あるいはその全ての獣を指す包括的名称を指す。 然后我的输出(在另一个文本框中)看起来像这样: ? AE©Z,ã,μ変AEZ¥ç¶š,*,*,*,*,* ? AE©Z,ã,μ変AEZ¥ç¶š,*,*,*,*,* ? AE©Z,ã,μ変AEZ¥ç¶š,*,*,*,*,* ? AE©Z,ã,μ変AEZ¥ç¶š,*,*,*,*,* ? AE©Z,ã,μ変AEZ¥ç¶š,*,*,*,*,* ? AE©Z,ã,μ変AEZ¥ç¶š,*,*,*,*,* ? AE©Z,ã,μ変AEZ¥ç¶š,*,*,*,*,* ? AE©Z,ã,μ変AEZ¥ç¶š,*,*,*,*,* ? AE©Z,ã,μ変AEZ¥ç¶š,*,*,*,*,* ? AE©Z,ã,μ変AEZ¥ç¶š,*,*,*,*,* ? AE©Z,ã,μ変AEZ¥ç¶š,*,*,*,*,* ? AE©Z,ã,μ変AEZ¥ç¶š,*,*,*,*,* ? AE©Z,ã,μ変AEZ¥ç¶š,*,*,*,*,* ? AE©Z,ã,μ変AEZ¥ç¶š,*,*,*,*,* ? AE©Z,ã,μ変AEZ¥ç¶š,*,*,*,*,* (åè©ž,ã,μ変接続,*,*,*,*,* ? AE©Z,ã,μ変AEZ¥ç¶š,*,*,*,*,* ? AE©Z,ã,μ変AEZ¥ç¶š,*,*,*,*,* ? AE©Z,ã,μ変AEZ¥ç¶š,*,*,*,*,* ? AE©Z,ã,μ変AEZ¥ç¶š,*,*,*,*,* ? AE©Z,ã,μ変AEZ¥ç¶š,*,*,*,*,* )åè©ž,ã,μ変接続,*,*,*,*,* ? AE©Z,ã,μ変AEZ¥ç¶š,*,*,*,*,* ????????????????????????? AE©Z,ã,μ変AEZ¥ç¶š,*,*,*,*,* […]

如何将unicode字符转换为c#中的转义ascii等效字符

我开始使用包含编码的u​​nicode字符“ ü ”的字符串。 我将字符串传递给执行某些逻辑并返回另一个字符串的对象。 该字符串将原始编码字符转换为其unicode等效“ ü ”。 我需要恢复原始编码字符,但到目前为止还不能。 我已经尝试使用HttpUtility.HtmlEncode()方法但是返回“ ü ”这是不一样的。 有人可以帮忙吗?

Visual Studio GlobalSuppression.cs文件和UTF-16

似乎Visual Studio 2015使用UTF-16编码保存GlobalSuppression.cs文件。 这在使用SVN时很烦人,因为它认为UTF-16文件是二进制文件。 问题: 使用Visual Studio,是否可以使用UTF-8编码保存GlobalSuppression.cs ? 或者,有人可以提供一个位置,我可以找到该文件所基于的模板(如果存在)? 请注意,我在Common7\IDE\ItemTemplates找不到模板。

在字符串上正则表达unicode字符

我正在C#中做一些O​​CR工作,并提取了我需要使用的文本。 现在我需要使用正则表达式解析一行。 string checkNum; string routingNum; string accountNum; Regex regEx = new Regex(@”\u9288\d+\u9288″); Match match = regEx.Match(numbers); if (match.Success) checkNum = match.Value.Remove(0, 1).Remove(match.Value.Length – 1, 1); regEx = new Regex(@”\u9286\d{9}\u9286″); match = regEx.Match(numbers); if(match.Success) routingNum = match.Value.Remove(0, 1).Remove(match.Value.Length – 1, 1); regEx = new Regex(@”\d{10}\u9288″); match = regEx.Match(numbers); if (match.Success) accountNum = match.Value.Remove(match.Value.Length – 1, […]

如何返回带有unicode字符的json结果转义为\ u1234

我正在实现一个返回json结果的方法,如: public JsonResult MethodName(Guid key){ var result = ApiHelper.GetData(key); //Data is stored in db as varchar with åäö return Json(new { success = true, data = result },”application/json”, Encoding.Unicode, JsonRequestBehavior.AllowGet ); } 显示的结果: {“success”:true,”data”:[{“Title”:”Here could be characters like åäö”,”Link”:”http://www.url.com/test”,…}, 但我想显示它像: {“success”:true,”data”:[{“Title”:”Here could be characters like \u00e5\u00e4\u00f6″,”Link”:”http:\/\/www.url.com\/test”,…}, 我怎么能做到这一点? 我可以转换它,解析它或更改web.config中的responseEncoding以使其显示unicode字符吗?