会员
周边
众包
新闻
博问
闪存
所有博客
当前博客
我的博客
我的园子
账号设置
简洁模式
...
退出登录
注册
登录
M'
.net 技术资料
博客园
首页
新随笔
联系
订阅
管理
C#中全角字符转换为半角[转]
//
判断字符是否英文半角字符或标点
//
32 空格
//
33-47 标点
//
48-57 0~9
//
58-64 标点
//
65-90 A~Z
//
91-96 标点
//
97-122 a~z
//
123-126 标点
public
static
bool
IsBjChar(
char
c)
{
int
i
=
(
int
)c;
return
i
>=
32
&&
i
<=
126
;
}
/**/
///
判断字符是否全角字符或标点
///
全角字符 - 65248 = 半角字符
///
全角空格例外
public
static
bool
IsQjChar(
char
c)
{
if
(c
==
'
\u3000
'
)
{
return
true
;
}
int
i
=
(
int
)c
-
65248
;
if
(i
<
32
)
{
return
false
;
}
else
{
return
IsBjChar((
char
)i);
}
}
/**/
///
将字符串中的全角字符转换为半角
public
static
string
ToBj(
string
s)
{
if
(s
==
null
||
s.Trim()
==
string
.Empty)
{
return
s;
}
else
{
StringBuilder sb
=
new
StringBuilder(s.Length);
for
(
int
i
=
0
; i
<
s.Length; i
++
)
{
if
(s[i]
==
'
\u3000
'
)
{
sb.Append(
'
\u0020
'
);
}
else
if
(IsQjChar(s[i]))
{
sb.Append((
char
)((
int
)s[i]
-
65248
));
}
else
{
sb.Append(s[i]);
}
}
return
sb.ToString();
}
}
posted @
2007-11-08 08:48
M'
阅读(
903
) 评论(
0
)
编辑
收藏
举报
会员力量,点亮园子希望
刷新页面
返回顶部
公告