来自 Unicode 的 C# 字符
C# Character from Unicode
我有一个来自 FontAwesome 作弊的 unicode 字符 sheet:
#xf042;
如何将该字符放入 C# 中?
string s = "????";
我尝试按原样输入并使用 .
假设十六进制输入表示 UTF8 编码的字符串,您可以使用一个函数来转换十六进制字符串:
public static string ConvertHexToString(string hex)
{
int numberChars = hex.Length;
byte[] bytes = new byte[numberChars / 2];
for (int i = 0; i < numberChars; i += 2)
{
bytes[i / 2] = Convert.ToByte(hex.Substring(i, 2), 16);
}
return Encoding.UTF8.GetString(bytes);
}
然后在输入到此函数之前从输入中过滤掉不需要的字符:
string input = "#xf042;";
string s = input.Replace("#x", string.Empty).Replace(";", string.Empty);
string result = ConvertHexToString(s);
显然,您需要根据输入调整正确的编码,因为十六进制仅表示字节数组,为了将此字节数组解码回字符串,您需要知道编码。
如果你只是想要 Darin 发布的更轻版本,将十六进制值转换为包含来自 FontAwesome 字体私有区域的 unicode 位置的字符串,你可以使用这个 >>
private static string UnicodeToChar( string hex ) {
int code=int.Parse( hex, System.Globalization.NumberStyles.HexNumber );
string unicodeString=char.ConvertFromUtf32( code );
return unicodeString;
}
如下调用即可>>
string s = UnicodeToChar( "f042" );
或者,您可以简单地使用 C# class 以及此处预先编写的所有图标和加载程序 >> FontAwesome For WinForms CSharp
我有一个来自 FontAwesome 作弊的 unicode 字符 sheet:
#xf042;
如何将该字符放入 C# 中?
string s = "????";
我尝试按原样输入并使用 .
假设十六进制输入表示 UTF8 编码的字符串,您可以使用一个函数来转换十六进制字符串:
public static string ConvertHexToString(string hex)
{
int numberChars = hex.Length;
byte[] bytes = new byte[numberChars / 2];
for (int i = 0; i < numberChars; i += 2)
{
bytes[i / 2] = Convert.ToByte(hex.Substring(i, 2), 16);
}
return Encoding.UTF8.GetString(bytes);
}
然后在输入到此函数之前从输入中过滤掉不需要的字符:
string input = "#xf042;";
string s = input.Replace("#x", string.Empty).Replace(";", string.Empty);
string result = ConvertHexToString(s);
显然,您需要根据输入调整正确的编码,因为十六进制仅表示字节数组,为了将此字节数组解码回字符串,您需要知道编码。
如果你只是想要 Darin 发布的更轻版本,将十六进制值转换为包含来自 FontAwesome 字体私有区域的 unicode 位置的字符串,你可以使用这个 >>
private static string UnicodeToChar( string hex ) {
int code=int.Parse( hex, System.Globalization.NumberStyles.HexNumber );
string unicodeString=char.ConvertFromUtf32( code );
return unicodeString;
}
如下调用即可>>
string s = UnicodeToChar( "f042" );
或者,您可以简单地使用 C# class 以及此处预先编写的所有图标和加载程序 >> FontAwesome For WinForms CSharp