C#中判断字符串是全角还是半角
答案:2 悬赏:20 手机版
解决时间 2021-01-30 08:52
- 提问者网友:王者佥
- 2021-01-29 16:51
C#中判断字符串是全角还是半角
最佳答案
- 五星知识达人网友:有你哪都是故乡
- 2021-01-29 17:16
//判断半角如下:
//复制代码 代码如下:
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;
}
//复制代码 代码如下:
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-29 17:47
全角是指用二个字节来表示的一个字符
半角是用一个字节来表示的一个字符
这样的话我们就可以用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 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;
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯