XAML &c#在WP8.1上具有更长的Unicode范围
本文关键字:范围 Unicode WP8 XAML | 更新日期: 2023-09-27 18:13:19
我在我的WP8.1 APP中看到一个非常奇怪的行为。在我的XAML中,我有以下内容,这完美地转化为一个漂亮的😠(愤怒的脸),一切都好。
<TextBlock x:Name="FaceTextBlock" Text="😠" 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
c#中的Unicode字符转义是用4或8个十六进制数字表示的,所以你必须用8个数字来写表情符号:
"'U0001F620"
注意在2.4.1 Unicode字符转义序列中记录的大写U。