php如何判断是字符串全角还是半角
关注:168 答案:2 手机版
解决时间 2021-01-15 16:08
提问者夏日╮悲歌
2021-01-15 00:27
php如何判断是字符串全角还是半角
最佳答案
二级知识专家青春敷年華
2021-01-15 00:45
全角是指用二个字节来表示的一个字符
半角是用一个字节来表示的一个字符
这样的话我们就可以用string.length 和system.text.encoding.default.getbytecount来判断
其中string.length表示字符串的字符数,
system.text.encoding.default.getbytecount表示字符串的字节数。
将全角的变为半角
string s="gbj1—86";
char[] c=s.tochararray();
for (int i=0;i
{
byte[] b=system.text.encoding.unicode.getbytes(c,i,1);
if (b.length==2)
{
if (b[1]==255)
{
b[0]=(byte)(b[0]+32);
b[1]=0;
c[i]=system.text.encoding.unicode.getchars(b)[0];
}
}
}
//半角
string news=new string(c);
把字母,数字由半角转化为全角
public string changestr( string str)
{
char[] c=str.tochararray();
for (int i=0;i
{
byte[] b=system.text.encoding.unicode.getbytes(c,i,1);
if (b.length==2)
{
if (b[1]==0)
{
b[0]=(byte)(b[0]-32);
b[1]=255;
c[i]=system.text.encoding.unicode.getchars(b)[0];
}
}
}
//半角
string strnew=new string(c);
return strnew;
}
判断的方法一:
代码测试报告:只能对单个字符进行判断,如果出现"23" 判断结果是半角,忽略了后面的全角,如果需要判断就要遍历证字符串
string s = null;
s = "a";
messagebox.show(((s[0] > 255) ? "全角" : "半角") + " ascii of " + convert.toint32(s[0]).tostring("x").toupper());
s = "a";
messagebox.show(((s[0] > 255) ? "全角" : "半角") + " ascii of " + convert.toint32(s[0]).tostring("x").toupper());
//中文的unicode大概是从4e00 到 9fa0,所以上例一个是0x41 一个是0xff21
判断的方法二:
代码测试报告:只能对单个字符进行判断,如果出现"23" 判断结果是半角,忽略了后面的全角,如果需要判断就要遍历证字符串
if (checkstring.length == encoding.default.getbytecount(checkstring))
{
return true;
}
else
{
return false;
}
全角如下:
if (2 * checkstring.length == encoding.default.getbytecount(checkstring))
{
return true;
}
else
{
return false;
}
全部回答
1楼阳忆青希
2021-01-15 01:13
第一步:新建程序
使用Dreamweaver或记事本新建一个PHP程序,这是所有开发必须经过的开始,然后输入测试段代码(Hello World!),并运行。
第二步:输入英文分号并运行
为了便于后面的比较,在编辑器新增一个
第三步:对比输入中文分号再运行
接着输入一段文字,我是中文PHP的分号(;),在浏览器中运行,并作比较,中文分号比英文分号更大更宽
第四步:输入英文半角并运行
在编辑器中新增一个
第五步:全半角及中英文切换
很多非专业的人不会切换全半角,切换全半角方式为Shift+Space键盘,也可以点击输入法切换
第六步:输入英文全角再运行
同理,在编辑器中输入文字:我是PHP全角写法:php,并运行,比较全半角的区别(注:全角只在英文小写字母才有作用),全角字符宽度明显大于半角。
第七步:对比全角和半角
全角字符占位大于半角。
第八步:对比中文和英文
英文符号再大小以及占位宽度比中文符号小
我要举报
如以上信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
推荐资讯
大家都在看