【问题标题】:What is the international charcode value of this string?这个字符串的国际字符码值是多少?
【发布时间】:2014-06-26 14:34:59
【问题描述】:

我有一个字符串<...>(小于;3x 句号;大于),我需要将其转换为它的字符码值,以检查用户是否按指定顺序按下了这三个键(看看他键盘上的字符串)(想象一下像konami-code这样的东西)。如何获取这个字符串的charcode值?

我尝试了一些组合,但它只适用于英文键盘布局。它不适用于其他键盘布局(如捷克语、意大利语、德语)。有什么好的解决方案不依赖于键盘布局和键盘快捷键,而只依赖于输入的字母?

【问题讨论】:

  • 您从哪里获得输入(HTML 输入字段,控制台,...)?为什么需要字符码来比较而不只是比较字符?你想要什么是可能的,但更多的上下文会更容易回答你的问题。
  • 你知道konami代码吗?所以这个字母序列有点像konami。用户在他的键盘上按下该字符串,应用程序会执行隐藏操作。我想编码它。我想使用 konami_code pub 包,我的目标是为此目的获得与键盘布局无关的字符代码组合。
  • 而且用户在我的应用中按下这个组合的位置并不重要。

标签: character-encoding dart dart-html


【解决方案1】:

也许你正在寻找类似的东西

void main() {
  '<...>'.codeUnits.forEach(print);
}

60 46 46 46 62

void main() {
  String s = '<...>';
  print(s.codeUnitAt(0));
  print(s.codeUnitAt(1));
  ...
}

产生相同的输出。

如果这不是您想要的,改进您的问题可能会有所帮助。

【讨论】:

    【解决方案2】:

    五个字符的字符代码很容易得到:"&lt;...&gt;".codeUnits.toList()。 如果你想要的话,它是 [60, 46, 46, 46, 62]。

    您的问题似乎是您想检测与在键盘上按下这些 对应的键盘代码

    我假设我们处于浏览器设置中。在这种情况下,键盘事件将包含一个charCode,这应该是您需要的。即使在外国(无论您身在何处)键盘上,charCode 也应该是正确的 - 除非浏览器完全误解了键盘,然后用户会有更大的问题。

    https://api.dartlang.org/apidocs/channels/stable/dartdoc-viewer/dart-dom-html.KeyboardEvent#id_charCode

    【讨论】:

      猜你喜欢
      • 2016-08-18
      • 2022-06-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多