将全宽转换为半宽

Mr.*_*ith 11 c# unicode

在C#中,如何将使用全角形式字符的字符串转换为半宽形式字符?

例如,userInput如下所示,我想转换?????????????Stackoverflow:

string userInput= "?????????????";
//string userInput= "Stackoverflow";
Run Code Online (Sandbox Code Playgroud)

pet*_*ids 17

您可以使用以下string.Normalize()方法:

string userInput = "?????????????";
string result = userInput.Normalize(NormalizationForm.FormKC);
//result = "Stackoverflow"
Run Code Online (Sandbox Code Playgroud)

请参阅DotNetFiddle上的示例.

有关规范化表格的更多信息,请访问unicode.org.