XAML &c#在WP8.1上具有更长的Unicode范围

本文关键字:范围 Unicode WP8 XAML | 更新日期: 2023-09-27 18:13:19

我在我的WP8.1 APP中看到一个非常奇怪的行为。在我的XAML中,我有以下内容,这完美地转化为一个漂亮的😠(愤怒的脸),一切都好。

<TextBlock x:Name="FaceTextBlock" Text="&#x1F620;" FontFamily="Segoe UI Symbol" />

但是当我尝试用编程方式执行时,它的行为就好像最后一个数字- '0' -不在那里:

FaceTextBlock.Text = "'u1F620"; // This behaves like "'u1F62" and is displayed  as "ὢ0"

作为一个反例,我尝试使用简单的"飞机表情符号"✈U+2708,没问题。你知道我错过了什么吗?会不会是文化的原因?

FaceTextBlock.Text = "'u2708"; // This works fine

XAML &c#在WP8.1上具有更长的Unicode范围

c#中的Unicode字符转义是用4或8个十六进制数字表示的,所以你必须用8个数字来写表情符号:

"'U0001F620"

注意在2.4.1 Unicode字符转义序列中记录的大写U。