在C#中将字符串/整数转换为上标

是否有内置的.NET函数或简单的转换方式:

"01234" 

至:

 "\u2070\u00B9\u00B2\u00B3\u2074" 

请注意,上标1,2和3不在\ u2070- \ u209F范围内,但是\ u0080- \ u00FF 。

编辑:我没有注意到上标字符不像\u2070那样简单 – \u2079 。 您可能想要在字符之间设置映射。 如果你只需要数字,你可以很容易地索引到一个字符串:

 const string SuperscriptDigits = "\u2070\u00b9\u00b2\u00b3\u2074\u2075\u2076\u2077\u2078\u2079"; 

然后使用LINQ:

 string superscript = new string(text.Select(x => SuperscriptDigits[x - '0']) .ToArray()); 

或者没有:

 char[] chars = text.ToArray(); for (int i = 0; i < chars.Length; i++) { chars[i] = SuperscriptDigits[chars[i] - '0']; } string superscript = new string(chars);