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;
查看全文
相关阅读:
cocos2d-x学习笔记(贪吃蛇代码)
jQuery中animate的height的自适应
[Docker02]Docker_registry
[Docker03] Deploy LNMP on Docker
Python OS Module
前端设计框架
Ansible权威指南-读书笔记
python+selenium之悠悠博客学习笔记
jenkins入门
sed
原文地址:https://www.cnblogs.com/sonicit/p/772409.html
最新文章
linux配置java环境变量(详细)
Nutch介绍及使用
Open edX 学习、开发、运维相关链接整理
在linux系统中安装virtualbox增强功能(增强包)的详细步骤
CentOS下添加用户并且让用户获得root权限
将TXT文件 导入 sqlserver数据库
Tomcat 一端口多项目,多端口多项目 server.xml
SpringBoot_Mybatis_Maven_BootStrap
SpringMVC_JDBC
SpringMVC
热门文章
Servlet_Struts2
NewEmployeesLearnNotes——新人程序员学习计划V1.1
CreateProjectFormat——初始项目目录格式
egret中场景跳转的动画
typeScript类里面的属性声明
cocos2d-html5 碰撞检测的几种方法
手把手教你如何使用Cocos2d Console 进行html5项目发布
【Cocos2d-html5】运动中速度效果
cocos2d-x js 中创建node的方法
cocos2d-x学习笔记(斗地主代码)
Copyright © 2011-2022 走看看