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;
查看全文
相关阅读:
ie兼容,手机端兼容问题
JS-cookie和正则表达式
第六节蓝桥杯 方格填数
最长公共子串长度
上台阶问题
各种好东西
Painting the balls (dp优化)
Nobita's New Filesystem (bitset)
恐狼后卫 (区间dp)
CF701F String set queries (分块思想+暴力)
原文地址:https://www.cnblogs.com/sonicit/p/772409.html
最新文章
全国省市选择
面试2
面试
MVC 和三层架构的关系(本文章摘自网络)
ef
.ashx作用(摘自网络)
ADO.NET
[BZOJ1014] [JSOI2008]火星人prefix
估值线段树
[BZOJ2827]千山鸟飞绝
热门文章
20170811联考
20170809联考
对于第一次联考
so
book
[BZOJ2127] hapiness
[HNOI2007]紧急疏散evacuate
【bzoj1051】【HAOI2006】受欢迎的牛
【bzoj4926】皮皮妖的递推
【tyvj2044】旅游景点
Copyright © 2011-2022 走看看