编码 - JavaScript String.fromCharCode 的 charCode 是什么?
天蓬老师
天蓬老师 2017-04-10 15:02:49
0
5
441

在尝试找\n但是很奇怪, 居然不是 13, 而是 10. 另外 tab 也不一样.
这么说这个映射就不是 keyCode 那种编码了.
想问下这个 charCode 是怎么回事? 还有怎样才能找到完整的表?

天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

全部回覆 (5)
Ty80

v8内部使用utf-16保存字符,charCode其实返回的就是一个utf-16代码单元,而es6提供的codePointAt返回的才是unicode的代码点。
注意代码点和代码单元的区别,在utf-16中的一个代码点会被编码为一个或两个代码单元(超出U+FFFF就需要两个代码单元)。
想找到完整映射,看看unicode字符表就行了,然后对于超出FFFF的字符,看看utf-16的编码方式就可以知道编码为哪两个代码单元了。

    洪涛

    \n 本来就是 10 啊。13 是 \r 。tab 是 9 啊。

    charCode 差不多就是 unicode,只不过只有 16 位,即 utf-16 编码值。

    keyCode 是按键事件的键值,那完全是另一回事情。

      阿神

      首先 \r 才是 13。

      其次 charCode 不是 UTF-16 而是 UCS-2,JS 诞生的时候还没出现 UTF-16,虽然现在看来都差不多了,这是 16 位的 Unicode 码。

      最后,键盘的字母按键是按照 ANSI 码来的,Unicode 向下兼容 ANSI。

        刘奇

        可以用String.prototype.charCodeAt来获取charcode

        "\n".charCodeAt(0) //10
          巴扎黑

          这里的charCode是ASCII编码

            最新下載
            更多>
            網站特效
            網站源碼
            網站素材
            前端模板
            關於我們 免責聲明 Sitemap
            PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!