Bri*_*der 3 c# unicode font-awesome xamarin.forms
我在 Xamarin 应用程序中使用了很棒的字体。XamarinApp 与之对话的 api 返回一个 fxxx 字符串,以指示要显示的图标。在代码中我添加了 \u 但它被视为一个字符串而不是一个 unicode 字符。
var value = "f641";
newLabel.Text = char.Parse($"\\u{value}").ToString();
Run Code Online (Sandbox Code Playgroud)
我试过 char.Parse 但它抛出一个错误:
System.FormatException: 字符串必须正好是一个字符长。
有什么建议 ?
您想要Char持有私有代码点U+F641 的值。
您可以通过将其解析为它所代表的十六进制值来实现:
var input = "f641";
int p = int.Parse(input, System.Globalization.NumberStyles.HexNumber); // 63041
Run Code Online (Sandbox Code Playgroud)
然后将其转换为 a Char:
char c = (char)p;
Run Code Online (Sandbox Code Playgroud)
根据可能的代码点的范围,您可能没有足够的空间char来存储代码点,如@Panagiotis 所示,请使用Char.ConvertFromUtf32(int):
string chars = Char.ConvertFromUtf32(p);
Run Code Online (Sandbox Code Playgroud)
但是你会有一个字符串,而不是单个字符。
| 归档时间: |
|
| 查看次数: |
524 次 |
| 最近记录: |