zoukankan
html css js c++ java
Delphi中实现全角转半角
function SbctoDbc(s:
string
):
string
;
var
nlength,i:integer;
str,ctmp,c1,c2:
string
;
{
在windows中,中文和全角字符都占两个字节,
并且使用了ascii chart
2
(codes
128
-
255
)。
全角字符的第一个字节总是被置为163,
而第二个字节则是相同半角字符码加上128(不包括空格)。
如半角a为65,则全角a则是163(第一个字节)、
193
(第二个字节,
128
+
65
)。
而对于中文来讲,它的第一个字节被置为大于163,(
如
'
阿
'
为:
176
162
),我们可以在检测到中文时不进行转换。
}
begin
nlength:
=
length(s);
if
(nlength
=
0
) then
exit;
str:
=
''
;
setlength(ctmp,nlength
+
1
);
ctmp:
=
s;
i:
=
1
;
while
(i
<=
nlength)
do
begin
c1:
=
ctmp[i];
c2:
=
ctmp[i
+
1
];
if
(c1
=
#
163
) then
//
如果是全角字符
begin
str:
=
str
+
chr(ord(c2[
1
])
-
128
);
inc(i,
2
);
continue
;
end;
if
(c1
>
#
163
) then
//
如果是汉字
begin
str:
=
str
+
c1;
str:
=
str
+
c2;
inc(i,
2
);
continue
;
end;
if
(c1
=
#
161
) and (c2
=
#
161
) then
//
如果是全角空格
begin
str:
=
str
+
'
'
;
inc(i,
2
);
continue
;
end;
str:
=
str
+
c1;
inc(i);
end;
result:
=
str;
end;
查看全文
相关阅读:
嵊泗
窗函数介绍
射频与微波测量之失真参数
C# 文件与路径操作
史密斯圆图
Winform 关闭Form而不销毁Form的内存
射频与微波测量之S参数
东极岛
C#中正则表达式解析字符串信息
射频微波相关公式
原文地址:https://www.cnblogs.com/sonicit/p/772409.html
最新文章
jQuery Sizzle选择器(二)
jQuery Sizzle选择器(一)
jQuery属性操作(四)
jQuery属性操作(三)
jQuery属性操作(二)
23种设计模式入门之学习目录
Log4j和Slf4j的比较
基于RBAC模式的权限管理系统设计概要
SpringSecurity 3.2入门(5)自定义登录页面
SpringSecurity 3.2入门(4)登录密码加密
热门文章
SpringSecurity 3.2入门(3)单用户登录
SpringSecurity 3.2入门(2)环境搭建
SpringSecurity 3.2入门(1)框架介绍
文件读取工具类读取properties文件
MD5加密工具类
获取httpservletrequest所有参数的名称和值
Spring JdbcTemplate 使用总结
Spring mvc框架下使用kaptcha生成验证码
SpringMVC框架下实现分页功能
利用Filter实现session拦截
Copyright © 2011-2022 走看看