繁体   English   中英

Unicode 符号未在推送通知中呈现

[英]Unicode symbol not rendering in Push Notification

我的 C# 中有许多字符串文字,其中包含 unicode 个字符。 我们正在使用这些通过 Azure 通知中心发送推送通知。

当我发送下面第一组中的一个字符串时,通知会呈现预期的文本和表情符号。

  • “⚡你好,⚡”。 “你好世界。”
  • “准备好录制了吗??”,“让我们开始吧!”
  • “? 有什么消息吗?”,“我们很想听听您的意见。”

以下集合中的任何一个都显示为推送通知,但特殊符号、绿色圆圈、琥珀色圆圈和红色圆圈不会。 我会尝试抓取屏幕截图并重新编辑

  • “信号更新”、“信号变红。ὓ4 点击查看更多。” “信号
  • “更新”、“信号为绿色。὾2 点击查看更多。” “信号激活”,
  • “信号为绿色。὾2 点击更多。”

我注意到 VS 2022 没有完全突出显示不起作用的转义 unicode 字符串,它们的转义序列长度都大于 5 个字符,但这个事实很可能是转移注意力。 这是VS2022渲染

在此处输入图像描述

请注意文本“...琥珀色,὾1 点击更多”。 这是在推送通知中呈现的方式

在此处输入图像描述

注意假定符号后的“1”

我的 unicode 个字符没有正确显示的原因是我没有在 C# 字符串文字中正确显示它们 escaping。

26A1是正确显示的字符串示例。 该字符串来自 UTF16 范围,可以使用以“\u”开头的转义序列进行转义,注意小写“u”。

1F7E2是未正确显示的字符串示例。 我天真地复制了早期的转义序列,只是改变了要转义的字符。 然而,这个 unicode 字符串来自 UTF32 范围,需要不同的转义序列,大写的 u,“\U”使字符串文字“ Signal is Green. \U0001F7E2 Tap for more. ”还要注意前导零。

我发现有用的参考资料是

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM