【问题标题】:Emojis in VSCodeVSCode 中的表情符号
【发布时间】:2019-06-25 07:27:13
【问题描述】:

我试图在 dart 中编辑以下表情符号数组,我在 VSCode 中尝试了表情符号扩展,但没有一个适用于这行代码。

const _emojis = ['????','????','????','????','????'];

【问题讨论】:

    标签: dart visual-studio-code flutter


    【解决方案1】:

    Dart 字符串似乎是 UTF-16 sequences。因此,找到这些表情符号的 UTF 序列并按照该链接中的说明使用它们。

    最简单的 Unicode 代码点情况是:

    const _emojis = ['\u{1f605}','\u{1f606}','\u{1f607}','\u{1f608}','\u{1f609}'];
    
    for (var i = 0;i<_emojis.length;i++) {
       print("Position $i : ${_emojis[i]} ");
    }
    

    也有这方面的助手:

    对于基本多语言平面(平面 0)之外的字符 由一个代理对组成,runes 组合这对并返回一个 单个整数

    事实上,建议您不要为此使用原始列表,因为它可以lead to problems down the road。语言之旅特别指出了这一点:

    注意:使用列表操作操作符文时要小心。这 方法很容易崩溃,具体取决于特定的语言, 字符集和操作。

    另外,请参阅 Dart String tutorialLanguage Tour(实际上显示了这个确切问题的解决方案)。

    【讨论】:

    • 我找到了代码,但它在 VS Code 中不起作用。 U+1F636
    • 我们鼓励您编辑您的问题并显示您的minimal reproducible example 并解释您获得的结果。一个直接的猜测是您的 输出 需要一个特定的字符集,或者字体中缺少字形。但在你给我们看之前我们不知道。
    • 我得到的结果是当我输入 UTF 码“U+1F636”时,emoji 没有出现
    • UTF 代码一旦在模拟器中运行就可以工作,我仍然不知道表情符号是如何出现在我粘贴的任何地方的,即使在记事本中也是如此 :) 。此代码有效: const _emojis = ['\u{1f605}','\u{1f606}','\u{1f607}','\u{1f608}','\u{1f609}'];
    • 编辑器在从剪贴板粘贴时如何处理操作系统的行为并不是一个好的开始,因为那里有太多的移动部件。话虽这么说,其中一些东西可能有点不透明,但这是可以理解的。我建议从这里开始:joelonsoftware.com/2003/10/08/…
    猜你喜欢
    • 1970-01-01
    • 2014-03-27
    • 2011-07-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-20
    • 2021-10-11
    相关资源
    最近更新 更多