delphi 全角转半角函数

来源:互联网 发布:大数据工程师辛苦吗 编辑:程序博客网 时间:2024/04/29 19:43

从网上搜索很多类似的函数 大都是一个函数  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;