You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C#中如何将十六进制字符串(如1F600)转换为emoji?

在C#中将十六进制字符串转换为Emoji及对应格式的方法

1. 转换为实际Emoji字符

Emoji多属于Unicode补充平面(U+10000至U+10FFFF),无法直接用char类型表示,需通过Unicode码点完成转换:

string hexCode = "1F600";
// 将十六进制字符串解析为对应Unicode码点(32位整数)
int codePoint = Convert.ToInt32(hexCode, 16);
// 从码点转换为Emoji字符
string emoji = char.ConvertFromUtf32(codePoint);

// 输出结果:😀
Console.WriteLine(emoji);

注意:char.ConvertFromUtf32会自动处理代理对,返回正确的Emoji字符串。

2. 转换为\U0001F600格式的字符串

将十六进制码点格式化为8位长度,再拼接\U前缀即可:

string hexCode = "1F600";
int codePoint = Convert.ToInt32(hexCode, 16);
// 格式化8位十六进制字符串并拼接前缀
string uFormat = $@"\U{codePoint:X8}";

// 输出结果:\U0001F600
Console.WriteLine(uFormat);

3. 转换为0x1F600格式的字符串

直接拼接0x前缀,或通过整数格式化实现:

string hexCode = "1F600";
// 方式1:直接拼接前缀
string oxFormat1 = $"0x{hexCode}";

// 方式2:通过整数格式化输出
int codePoint = Convert.ToInt32(hexCode, 16);
string oxFormat2 = $"0x{codePoint:X}";

// 两种方式均输出:0x1F600
Console.WriteLine(oxFormat1);
Console.WriteLine(oxFormat2);

额外提示

  • 输入的十六进制字符串大小写不影响解析,Convert.ToInt32会自动兼容;
  • 若需处理无效码点,可添加try-catch捕获ArgumentOutOfRangeException异常。

内容的提问来源于stack exchange,提问作者Nikolai Petrov

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 09:15:59