簡體   English   中英

Unicode中的C#字符

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM