php区分全角半角字符,php如何判断是字符串全角还是半角

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的分号(;),并在浏览器中运行

第三步:对比输入中文分号再运行

接着输入一段文字,我是中文PHP的分号(;),在浏览器中运行,并作比较,中文分号比英文分号更大更宽

第四步:输入英文半角并运行

在编辑器中新增一个

标签,输入文字:我是PHP的半角写法:php,并运行,并记录

第五步:全半角及中英文切换

很多非专业的人不会切换全半角,切换全半角方式为Shift+Space键盘,也可以点击输入法切换

第六步:输入英文全角再运行

同理,在编辑器中输入文字:我是PHP全角写法:php,并运行,比较全半角的区别(注:全角只在英文小写字母才有作用),全角字符宽度明显大于半角。

第七步:对比全角和半角

全角字符占位大于半角。

第八步:对比中文和英文

英文符号再大小以及占位宽度比中文符号小

我要举报

如以上信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!

推荐资讯

大家都在看

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值