簡體   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