按键键值查询
查询所有处理都在浏览器本地完成,数据不上传服务器
点这里,然后按键盘上的任意键
按下的键会在图上亮起。⚠️ 布局选错了不影响检测结果 —— **亮的位置是按物理位置标的**,所以能直接看出你的键盘是哪种:左 Shift 旁边多一个键是 ISO,空格旁边有三个日文键是 JIS。
带 Ctrl / Alt / Cmd 的组合键**不会**被拦截,浏览器自己的快捷键照常可用(所以按 Ctrl+W 还是会关标签页)。
还没按过键。
| 十进制 | 十六进制 | 字符 | 名称 |
|---|---|---|---|
| 0 | 0x00 | NUL | NUL空字符(C 语言字符串的结束标志) |
| 1 | 0x01 | SOH | SOH |
| 2 | 0x02 | STX | STX |
| 3 | 0x03 | ETX | ETX |
| 4 | 0x04 | EOT | EOT |
| 5 | 0x05 | ENQ | ENQ |
| 6 | 0x06 | ACK | ACK |
| 7 | 0x07 | BEL | BEL响铃(终端会发出提示音) |
| 8 | 0x08 | BS | BS |
| 9 | 0x09 | HT | HT水平制表符(Tab) |
| 10 | 0x0A | LF | LF换行(Unix 的行尾) |
| 11 | 0x0B | VT | VT |
| 12 | 0x0C | FF | FF |
| 13 | 0x0D | CR | CR回车(老 Mac 的行尾;Windows 上是 CRLF) |
| 14 | 0x0E | SO | SO |
| 15 | 0x0F | SI | SI |
| 16 | 0x10 | DLE | DLE |
| 17 | 0x11 | DC1 | DC1 |
| 18 | 0x12 | DC2 | DC2 |
| 19 | 0x13 | DC3 | DC3 |
| 20 | 0x14 | DC4 | DC4 |
| 21 | 0x15 | NAK | NAK |
| 22 | 0x16 | SYN | SYN |
| 23 | 0x17 | ETB | ETB |
| 24 | 0x18 | CAN | CAN |
| 25 | 0x19 | EM | EM |
| 26 | 0x1A | SUB | SUB |
| 27 | 0x1B | ESC | ESC转义(ANSI 转义序列以它开头) |
| 28 | 0x1C | FS | FS |
| 29 | 0x1D | GS | GS |
| 30 | 0x1E | RS | RS |
| 31 | 0x1F | US | US |
| 32 | 0x20 | SPACE | |
| 33 | 0x21 | ! | EXCLAMATION MARK |
| 34 | 0x22 | " | QUOTATION MARK |
| 35 | 0x23 | # | NUMBER SIGN |
| 36 | 0x24 | $ | DOLLAR SIGN |
| 37 | 0x25 | % | PERCENT SIGN |
| 38 | 0x26 | & | AMPERSAND |
| 39 | 0x27 | ' | APOSTROPHE |
| 40 | 0x28 | ( | LEFT PARENTHESIS |
| 41 | 0x29 | ) | RIGHT PARENTHESIS |
| 42 | 0x2A | * | ASTERISK |
| 43 | 0x2B | + | PLUS SIGN |
| 44 | 0x2C | , | COMMA |
| 45 | 0x2D | - | HYPHEN-MINUS |
| 46 | 0x2E | . | FULL STOP |
| 47 | 0x2F | / | SOLIDUS |
| 48 | 0x30 | 0 | DIGIT 0 |
| 49 | 0x31 | 1 | DIGIT 1 |
| 50 | 0x32 | 2 | DIGIT 2 |
| 51 | 0x33 | 3 | DIGIT 3 |
| 52 | 0x34 | 4 | DIGIT 4 |
| 53 | 0x35 | 5 | DIGIT 5 |
| 54 | 0x36 | 6 | DIGIT 6 |
| 55 | 0x37 | 7 | DIGIT 7 |
| 56 | 0x38 | 8 | DIGIT 8 |
| 57 | 0x39 | 9 | DIGIT 9 |
| 58 | 0x3A | : | COLON |
| 59 | 0x3B | ; | SEMICOLON |
| 60 | 0x3C | < | LESS-THAN SIGN |
| 61 | 0x3D | = | EQUALS SIGN |
| 62 | 0x3E | > | GREATER-THAN SIGN |
| 63 | 0x3F | ? | QUESTION MARK |
| 64 | 0x40 | @ | COMMERCIAL AT |
| 65 | 0x41 | A | LATIN CAPITAL LETTER A |
| 66 | 0x42 | B | LATIN CAPITAL LETTER B |
| 67 | 0x43 | C | LATIN CAPITAL LETTER C |
| 68 | 0x44 | D | LATIN CAPITAL LETTER D |
| 69 | 0x45 | E | LATIN CAPITAL LETTER E |
| 70 | 0x46 | F | LATIN CAPITAL LETTER F |
| 71 | 0x47 | G | LATIN CAPITAL LETTER G |
| 72 | 0x48 | H | LATIN CAPITAL LETTER H |
| 73 | 0x49 | I | LATIN CAPITAL LETTER I |
| 74 | 0x4A | J | LATIN CAPITAL LETTER J |
| 75 | 0x4B | K | LATIN CAPITAL LETTER K |
| 76 | 0x4C | L | LATIN CAPITAL LETTER L |
| 77 | 0x4D | M | LATIN CAPITAL LETTER M |
| 78 | 0x4E | N | LATIN CAPITAL LETTER N |
| 79 | 0x4F | O | LATIN CAPITAL LETTER O |
| 80 | 0x50 | P | LATIN CAPITAL LETTER P |
| 81 | 0x51 | Q | LATIN CAPITAL LETTER Q |
| 82 | 0x52 | R | LATIN CAPITAL LETTER R |
| 83 | 0x53 | S | LATIN CAPITAL LETTER S |
| 84 | 0x54 | T | LATIN CAPITAL LETTER T |
| 85 | 0x55 | U | LATIN CAPITAL LETTER U |
| 86 | 0x56 | V | LATIN CAPITAL LETTER V |
| 87 | 0x57 | W | LATIN CAPITAL LETTER W |
| 88 | 0x58 | X | LATIN CAPITAL LETTER X |
| 89 | 0x59 | Y | LATIN CAPITAL LETTER Y |
| 90 | 0x5A | Z | LATIN CAPITAL LETTER Z |
| 91 | 0x5B | [ | LEFT SQUARE BRACKET |
| 92 | 0x5C | \ | REVERSE SOLIDUS |
| 93 | 0x5D | ] | RIGHT SQUARE BRACKET |
| 94 | 0x5E | ^ | CIRCUMFLEX ACCENT |
| 95 | 0x5F | _ | LOW LINE |
| 96 | 0x60 | ` | GRAVE ACCENT |
| 97 | 0x61 | a | LATIN SMALL LETTER A |
| 98 | 0x62 | b | LATIN SMALL LETTER B |
| 99 | 0x63 | c | LATIN SMALL LETTER C |
| 100 | 0x64 | d | LATIN SMALL LETTER D |
| 101 | 0x65 | e | LATIN SMALL LETTER E |
| 102 | 0x66 | f | LATIN SMALL LETTER F |
| 103 | 0x67 | g | LATIN SMALL LETTER G |
| 104 | 0x68 | h | LATIN SMALL LETTER H |
| 105 | 0x69 | i | LATIN SMALL LETTER I |
| 106 | 0x6A | j | LATIN SMALL LETTER J |
| 107 | 0x6B | k | LATIN SMALL LETTER K |
| 108 | 0x6C | l | LATIN SMALL LETTER L |
| 109 | 0x6D | m | LATIN SMALL LETTER M |
| 110 | 0x6E | n | LATIN SMALL LETTER N |
| 111 | 0x6F | o | LATIN SMALL LETTER O |
| 112 | 0x70 | p | LATIN SMALL LETTER P |
| 113 | 0x71 | q | LATIN SMALL LETTER Q |
| 114 | 0x72 | r | LATIN SMALL LETTER R |
| 115 | 0x73 | s | LATIN SMALL LETTER S |
| 116 | 0x74 | t | LATIN SMALL LETTER T |
| 117 | 0x75 | u | LATIN SMALL LETTER U |
| 118 | 0x76 | v | LATIN SMALL LETTER V |
| 119 | 0x77 | w | LATIN SMALL LETTER W |
| 120 | 0x78 | x | LATIN SMALL LETTER X |
| 121 | 0x79 | y | LATIN SMALL LETTER Y |
| 122 | 0x7A | z | LATIN SMALL LETTER Z |
| 123 | 0x7B | { | LEFT CURLY BRACKET |
| 124 | 0x7C | | | VERTICAL LINE |
| 125 | 0x7D | } | RIGHT CURLY BRACKET |
| 126 | 0x7E | ~ | TILDE |
| 127 | 0x7F | DEL | DELETE删除(退格键盘上那个键,不是 Backspace) |
同一个按键,浏览器会给出三个互不相同的答案,而它们经常被混为一谈。`event.key` 是打出来的字符,跟着键盘布局与 Shift 走 —— Shift+2 在美式键盘上是 `@`,在德语键盘上是 `"`;`event.code` 是物理位置,`Digit2` 就是数字行第二个键,不管它在那台机器上打出什么;`event.keyCode` 是 1990 年代的那个数字,已废弃而且模棱两可 —— 它大致跟着字符走(`A` 与 `a` 都是 65),遇到标点又跟着位置走(`;` 与 `:` 都是 186)。这个工具把三者并列摊开、逐项标明各自跟着什么走:按一下键盘就同时看到四个字段与 ASCII 码,下面还给出 100 多个键位的对照表和 0–127 的 ASCII 完整码表。所有计算都在浏览器里完成,你按下的键不会离开这台设备。
功能
- 按下任意键,同时显示 key、code、keyCode、which 与 ASCII 码
- 逐项标明每个字段跟着什么走 —— 字符、物理位置、还是老代码的遗留值
- 可打印字符给出十进制与十六进制的 ASCII 码(`A` 是 65 / 0x41)
- 属性键给出 ASCII 控制码(回车 13 是 CR、Delete 127 是 DEL),这正是「keyCode 与 ASCII 对不上」的来源
- 同时按住的修饰键组合会列出来(Ctrl + Shift)
- 长按产生的重复事件会标出来 —— 判断「按住不放」时要用到
- 输入法组字中会明确提示(这时 `key` 是 `Process`,不是工具坏了)
- 100 多个键位的速查表,按名字、code、keyCode 或 ASCII 码都能搜
- 左右 Shift / Ctrl / Alt 各自成条 —— 只有 `code` 分得清左右,keyCode 一律相同
- 0–127 的 ASCII 码表,控制字符给缩写与说明,而不是 33 个空白格子
- 带 Ctrl / Alt / Cmd 的组合键不被拦截,浏览器自己的快捷键照常可用
使用方法
- 点一下页面顶部的检测框,然后按键盘上任意一个键
- 结果区立刻列出这个键的 key、code、keyCode、ASCII 码与修饰键状态
- 想看别的键就接着按 —— 不需要点任何按钮
- 在下方速查表里按键名或键值搜索,或者直接翻 0–127 的 ASCII 码表
常见问题
- keyCode 都已经废弃了,为什么还要查它?
- 因为废弃的是规范,不是它出现在代码里的事实。已有的项目、老版本的库、以及大量还在跑的示例代码里都是 `event.keyCode`,读它们时必须知道那个数字是什么意思;反过来写新代码时,也需要一个对照来确认「这个键在新写法里该用 `key` 还是 `code`」。所以这里把它和另外两个并列给出,并标明它已废弃 —— 而不是藏起来。
- 为什么 Delete 的 keyCode 是 46,ASCII 码却是 127?
- 这两个数字回答的是不同的问题。`keyCode` 说的是「按了哪个键」,Delete 键在小键盘上的位置编号是 46;ASCII 说的是「产生了哪个字符」,而 Delete 在 ASCII 表里是 127(DEL)。回车键同理:`keyCode` 13 恰好等于它的 ASCII 控制码 13(CR),纯属历史巧合 —— 因为这个键从终端时代起就直接产生那个字节。工具里把这两栏分开显示,就是为了让这件事看得见。
- 写代码时该用 key 还是 code?
- 看你要的是字符还是位置。快捷键(如 Ctrl+S)用 `code`:它对应物理位置,不会因为用户切到俄语或法语键盘就失灵;而「用户打出了什么字符」用 `key`:输入判断、快捷键提示、游戏操作都属于这一类。历史经验是:用 `keyCode` 写快捷键,在非美式键盘上会出错,这正是它被废弃的主要原因。
- 中文输入法打字时为什么显示 Process?
- 因为那时按键还没有变成字符。输入法正在组字(本工具会同时标出「输入法组字中」),此时浏览器上报的 `key` 就是 `Process`,`keyCode` 是 229。这不是故障,而是一个真实的信号:要判断用户真的输入了什么,得等 `compositionend` 之后再读,只看 `keydown` 会把一段中文读成一串 `Process`。
- 为什么按 Ctrl+W 没有被这个页面拦住?
- 故意的。这个页面只在焦点位于检测框内、且没有按修饰键时拦截少量按键的默认行为 —— 具体是空格与方向键(否则页面会被滚走)以及 `/`(Firefox 的快速查找)。带 Ctrl / Alt / Cmd 的组合一律放行:那些是浏览器与操作系统的地盘,连 Ctrl+W(关标签页)、F5(刷新)、F12(开发者工具)都拦掉的话,用户只会以为自己的浏览器坏了。
相关工具
符号英文名对照
查询查符号的英文名与中文叫法:~ 是 tilde,# 是 number sign 也是 hash,| 是 pipe。读英文文档遇到「use a tilde」时用它对照。
字符编码查询
网络查一个字符的码点、十进制值、UTF-8 字节、UTF-16 码元、HTML 实体、URL 编码与所属区块;看不见的字符给出替身,也能按名字搜 emoji。
你的浏览器信息
网络查看浏览器对网站暴露的信息:UA、屏幕、时区、CPU 核数、WebGL 渲染器与能力探测,全部在本机读取、不上传。
元素周期表
查询查任意元素的原子序数、中英日文名称、相对原子质量、分类、周期、族与电子排布;也可按周期、区间或分类列出整组。
纸张尺寸
查询A、B、C 系列与北美纸张尺寸的毫米、厘米、英寸,以及 72 / 150 / 300 DPI 下的像素值。全部在浏览器本地完成,离线可用。
生肖查询
查询输入年份查生肖与干支(天干地支),或输入生肖名反查年份。同时列出前后各若干年的年份,并说明农历年的边界。