【发布时间】:2017-12-09 23:01:56
【问题描述】:
我有一个字符串
"\u00c7"
我可以把它转换成代码;
char chr = Convert.ToChar("\u00c7"); // value of the chr is **Ç**
但我不能这样转换
我在 textbox1 中写了 \u00c7
char chr2 = Convert.ToChar(textbox1.Text); //This makes an error - number of character
我为此工作了几个小时,但找不到任何解决方案。
【问题讨论】:
-
如果您在控制台窗口中运行,这实际上可以工作,我将发布一个您可以在控制台中运行的示例,您将看到
-
如果我理解正确,您在文本框中输入了
\u00c7?如果是这样,这与在代码中以这种方式编写它不同,因为反斜杠是转义字符。在代码中,如果您键入 \u,这意味着下一个字符是 Unicode 代码点,编译器应将整个序列转换为单个字符。在文本框中,您实际上是在写一个反斜杠,后跟一个 u 和一些数字/字母,所以这里实际上是一个由六个字符组成的序列。如果您通过在代码中写入"\\u00c7"或@"\u00c7"来禁用转义,也会发生同样的情况。 -
一般来说,人类在文本框中输入 C# 语法并没有什么特别的原因。您确定他们想要输入任何计算机语言的文字字符串语法吗?他们为什么不像平常那样使用他们使用的任何键盘、操作系统和 IME 或其他辅助实用程序来键入文本?
-
@ckuri
\u用于 UTF-16 代码单元。 C# 没有像 JavaScript 和 HTML 这样的 Unicode 代码点的转义符。 -
或者,您可以接受HTML character entity references。 Ç Ç 🚲 ???有 .NET 库可以对它们进行解码,一些用户更熟悉它们。
标签: c# .net c#-4.0 encoding character-encoding