Heim  >  Artikel  >  Backend-Entwicklung  >  javascript - 关于字符(串)的全角半角的判定本质

javascript - 关于字符(串)的全角半角的判定本质

WBOY
WBOYOriginal
2016-06-06 20:52:311332Durchsuche

程序中经常对字符或者字符串做全角半角的判定,如全角字母,数字,标点符号等。虽然有很多方法可以做出正确的判断,但是我想了解的是,这些判断的本质是什么,也就是说对字符的编码或者是对字符在计算机中存储的长度做出怎样的判断后得出是全角还是半角的结论。虽是扫盲级别的问题,但是很想对这类问题的本质有一个清楚的认识,请各路大侠不吝赐教!谢谢!
实现语言不限,最好是php,java或者js。

回复内容:

程序中经常对字符或者字符串做全角半角的判定,如全角字母,数字,标点符号等。虽然有很多方法可以做出正确的判断,但是我想了解的是,这些判断的本质是什么,也就是说对字符的编码或者是对字符在计算机中存储的长度做出怎样的判断后得出是全角还是半角的结论。虽是扫盲级别的问题,但是很想对这类问题的本质有一个清楚的认识,请各路大侠不吝赐教!谢谢!
实现语言不限,最好是php,java或者js。

这个其实很好理解的吧,半角全角什么的只是显示的不同而已,归根结底的说其实还是转换之后存储到电脑里的机器码(不知道是不是叫这个)的不同啊,不同的机器码对应不同的字符。要做区别的话php可以转义成\xE2这种格式(我也不知道这种格式叫神马..==!),js应该也有相应的办法吧。

<?php // 半角返回0,全角返回1
function DBCorSBC($char) {
    $ascii = ord($char);
    if ($ascii < 128) {
        return 0;
    }   
    else {
        return 1;
    }   
}
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn