[英]C# Character from Unicode
我有一個FontAwesome速查表中的Unicode字符:
#xf042;
如何將該字符放入c#中?
字符串s =“ ????”;
我嘗試輸入as並使用。
假設十六進制輸入代表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#類與所有圖標和加載器一起使用在此處>> >> WinForms CSharp的FontAwesome
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.