遇到个问题,需要检测输入框中的字符长度,如果是汉字,算作2个字节。。。
然后我就在想,我怎么去识别他是不是汉字呢???首先想到的可能就是 js 的 charCodeAt 方法, ASCII 码,然后就疑惑,那么怎么把汉字和 ASCII 码对应起来呢,想不通,遂百度,发现转发方法的人挺多,但都不说原理,难道都明白???原理还是我来说吧
比较通用的方法都是这样子:
你会发现三种方法里有两种都提到了 x00-xff ,好好看看就是转译符,加上16进制数字,转成10进制就是,0-255,那么这里意思就很明显了,就是找出 ASCII 码超出 0-255 的字符,如果有,就认为是汉字或全角字符,算作两个字节,明白了?
ASCII 码我倒是去看了下,0-127是统一的,128-255 的好像规则不统一,不过好像也没有汉字和全角字符,但是这样用精不精确,不大明白,有空再去补补计算机基础,,,