【发布时间】:2017-05-11 14:17:21
【问题描述】:
从c#开始,没见过重复的。我想做的是:
这个字符串:İntersport
转换成这个字符串:\u0130ntersport
我找到了一种方法可以转换 unicode 中的所有内容,但不能只转换特殊字符。
提前感谢您的帮助
编辑:
我已经尝试过您的解决方案:
string source = matchedWebIDDest.name;
string parsedNameUnicode = string.Concat(source.Select(c => c < 32 || c > 255 ? "\\u" + ((int)c).ToString("x4") : c.ToString()));
但我得到:“System.Linq.Enumerable+WhereSelectEnumerableIterator`2[System.Char,System.String]”
【问题讨论】:
-
您可以遍历每个字符并使用此处提供的解决方案:stackoverflow.com/questions/13291339/… 转换字符,然后构建一个新字符串。
-
我看到了这个,但它会转换我所有的角色......而不仅仅是那些我需要转换的角色
-
我已经复制并粘贴了您的代码,将
matchedWebIDDest.name更改为"İntersport",添加了Console.Write(parsedNameUnicode);,并且我看到了\u0130ntersport结果 -
这很奇怪,它与您合作没有 Linq 解决方案,我想知道为什么...非常感谢您的帮助和耐心
-
不清楚您所说的“特殊字符”是什么意思。 İ 是至少一种语言字母表中的一个字母。字母表中的字母通常不被称为“特殊”。将字符串中的文本表示更改为可以存储在不使用默认 UTF-8 编码的 C# 源文件中的格式的更大目的是什么?