Home  >  Article  >  Backend Development  >  javascript - 关于字符(串)的全角半角的判定本质

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

WBOY
WBOYOriginal
2016-06-06 20:52:311330browse

程序中经常对字符或者字符串做全角半角的判定,如全角字母,数字,标点符号等。虽然有很多方法可以做出正确的判断,但是我想了解的是,这些判断的本质是什么,也就是说对字符的编码或者是对字符在计算机中存储的长度做出怎样的判断后得出是全角还是半角的结论。虽是扫盲级别的问题,但是很想对这类问题的本质有一个清楚的认识,请各路大侠不吝赐教!谢谢!
实现语言不限,最好是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;
    }   
}
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn