admin管理员组

文章数量:1621503

文章目录

  • 1. Unicode码与对应值转换
    • 1.1 需求
    • 1.2 解决
    • 1.3 ✅ 最棒的方案
  • 2. ASCII码与对应值转换
    • 2.1 需求
    • 2.2 解决
  • 3. 键盘上下左右的码值
    • 3.0 键盘扫描码(虚拟键)
      • 3.0.1 Windows下扫描码对应的虚拟键
      • 3.0.2 macOS下扫描码对应的虚拟键
    • 3.1 ASCII(128)以及扩展的ASCII(256)
    • 3.2 上下左右四个键的ASCII表示
    • 3.4 判断方向键被按下代码
      • 3.4.1 Windows下
      • 3.4.2 linux/MacOS下
      • 3.4.3 方向按键作为三个ASCII字符的组合

1. Unicode码与对应值转换

1.1 需求

测试某个接口的时候,遇到如下返回值

[
{
   
"answer":"\u60a8\u9700\u8981\u62e5\u6709\u4e00\u4e2a\u767e\u5ea6\u8d26\u53f7\uff0c\u7528\u6765\u767b\u5f55\u767e\u5ea6\u4e91\uff0c\u53ef\u4ee5\u70b9\u51fb\u6b64\u5904\u6ce8\u518c\u767e\u5ea6\u8d26\u6237\u3002\u5982\u60a8\u4ee5\u524d\u62e5\u6709\u767e\u5ea6\u63a8\u5e7f\u8d26\u6237\uff0c\u540c\u6837\u53ef\u4ee5\u767b\u5f55\u767e\u5ea6\u4e91\u3002",
"confidence":0.82946509122848511,
"json_info":"{}\n",
"qa_id":"1",
"question":"\u9700\u8981\u4f7f\u7528\u4ec0\u4e48\u8d26\u53f7\u767b\u5f55?"}
]

1.2 解决

  • 在线链接:http://www.msxindl/tools/unicode16.asp

1.3 ✅ 最棒的方案

最后,在这个文章中文字符 与 十六进制Unicode编码 相互转换,发现,对于前端的人来说,直接在console里输入unicode编码,就会自动转换为对应的字符了。。

我爱浏览器的调试工具???

2. ASCII码与对应值转换

2.1 需求

在OpenCV里,会获取从键盘的输入,比如:

char c = (char)cv::waitKey(10);
if (c == 27) // ESC键
    break;

通过对c的值进行判断来执行下一步逻辑,因此,需要知道ASCII码对应的数值,或者数值对应的ASCII码值。

2.2 解决

Python默认含有ord函数和chr函数,可以用来进行ASCII码转数值,或者数值转ASCII码的需求。

ASCII一共128个字符( 2 7 2^7 27),

  • 可显示字符:编号范围是32-126(0x20-0x7E),共 95 个字符:
  • 控制字符:编号范围是0-31和127(0x00-0x1F和0x7F),共 33 个字符:

其实chr也可以显示UNICODE编码,不过要稍微转换一下,对于1.3 ✅ 最棒的方案中的例子,使用chr的话就是(也可以直接显示。。):

"\u9700\u8981\u4f7f\u7528"

In [16]: chr(int("9700",16))
Out[16]: '需'

In [22]: "\u9700\u8981\u4f7f\u7528"
Out[22]: '需要使用'

参考:

  • 聊聊前端字符编码:ASCII、Unicode、Base64、UTF-8、UTF-16、UTF-32
  • 命令行中输入 ASCII 字符
  • http://www.tamasoft.co.jp/en/general-info/unicode.html
  • How to get the ASCII value of a character

3. 键盘上下左右的码值

3.0 键盘扫描码(虚拟键)

根据What are the ascii values of up down left right?和What are the ASCII values for the arrow keys- up, down, left & right?

我们常说的ASCII是一种字符编码集(Character Set Encodings ),而键盘上的按键使用的是键盘扫描码(keyboard scan codes)。

本文标签: 数值方向键键盘UnicodeASCII