如何將這樣的字串變成表情符號?1F600 => ?? 或 1F600 => \U0001F600 或 1F600 => 0x1F600
弄了幾天還是沒明白1F600這樣的字串怎么翻譯成emoji
uj5u.com熱心網友回復:
您只需要將值轉換為代碼點,然后在該代碼點獲取字符:
var emoji = Char.ConvertFromUtf32(Convert.ToInt32("1F600", 16));
dotnetfiddle 上的演示
uj5u.com熱心網友回復:
字串“1F600”是 Unicode 代碼點的十六進制表示。由于它不在BMP中,因此您需要 UTF32 或UTF16 代理項對來表示它。
以下是使用 UTF32 表示形式執行請求轉換的一些代碼:
決議為 32 位整數:
var utf32Char = uint.Parse("1F600", NumberStyles.AllowHexSpecifier);將其轉換為 litte-endian 位元組順序的 4 元素位元組陣列:
var utf32Bytes = BitConverter.GetBytes(utf32Char); if (!BitConverter.IsLittleEndian) Array.Reverse(utf32Bytes);最后,使用Encoding.UTF32從中生成一個字串。
var str = Encoding.UTF32.GetString(utf32Bytes); Console.WriteLine(str);
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/537938.html
標籤:C#统一码表情符号
