从网上搜索很多类似的函数 大都是一个函数 SbctoDbc 测试时确发现很多有问题 比如全角符号 句号 方括号等。
其实知道了 全角编码范围 可以自己着手写一个 测试通过
代码如下:
function TFrm_Main.ToDBC(input: string): WideString;
var
c: WideString;
i: Integer;
begin
c := input;
for i := 1 to Length(Input) do
begin
if (Ord(c[i]) = 12288) then
begin
c[i] := chr(32);
continue;
end;
if (Ord(c[i]) > 65280) and (Ord(c[i]) < 65375) then
c[i] := WideChar(chr(ord(c[i]) - 65248));
end;
result := c;
end;