gpt4 book ai didi

c# - 将十六进制字符串转换为相应的表情符号字符串

转载 作者:行者123 更新时间:2023-11-30 19:57:10 25 4
gpt4 key购买 nike

我正在尝试用表情符号“👱”创建一个字符串,从这个字符串“D83DDC71”开始。为此,我尝试转换此字符串 "\uD83D\uDC71" 中的上述字符串。

如果我使用此代码,它会起作用(文本框按预期显示 👱):

textbox.Text += "\uD83D\uDC71";

但如果我使用它,它就不起作用(文本框显示确切的文本“\uD83D\uDC71”而不是单个字符):

textbox.Text += sender.Code.ToString("X").insert(4, @"\u").insert(0, @"\u");

将表情符号的十六进制表示形式转换为相应的 C# 字符串 (UTF-16) 的正确方法是什么?

最佳答案

好的。您似乎有一个字符串,它给出字符 U+1F471 (👱) 的每个 UTF-16 代码单元的十六进制数。

由于 char 表示 UTF-16 代码单元,将字符串拆分为两个 4 字符 block ,将其解析为十六进制的 int,将每个转换为 char 和然后将它们组合成一个字符串:

var personWithBlondHair = ""
+ (char)int.Parse("D83DDC71".Substring(0, 4), NumberStyles.HexNumber)
+ (char)int.Parse("D83DDC71".Substring(4, 4), NumberStyles.HexNumber);

根据 https://dotnetfiddle.net/oTgXfG

关于c# - 将十六进制字符串转换为相应的表情符号字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31272011/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com