最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

delphi7ascii字符转string

IT圈 admin 27浏览 0评论

2024年6月13日发(作者:党澎)

DELPhi 7 ASCII 字符转string

标题:DELPhi 7 ASCII 字符转string 标题:

var

monid, Goods:PDWORD;

i,pi:DWord;

goodsName:PWideChar;

strName:string;begin

;

for i:=1 to $100 do

begin Goods:=Pointer($11C1908+$9400+I*4);

pi:=Goods^;

if pi>0 then begin

GoodsName:=Pointer(Goods^+4);

Goods:=Pointer(Goods^+$4);

GoodsName:=Pointer(Goods^);

strName:=WideCharTostring(GoodsName); //宽字符转string 这里的

UNICODE的字符数据 *******

if strName='11' then continue;

(strName);

end;

end;

上面的是用UNICODE的字符串 GoodsName

我想换成ASCII的字符串 来显示出DWord里面的汉字,知道 PWideChar;这个指向

widechar的指针 不知道是这个指针不对还是别的鞋错了,我其他都没错,就是不会转换

成文本文字,困了我几天,头疼 这是我以前写的读取二代身份证里信息用到的,不知道对

你有帮助不?见笑了。

function UnicodeToAnsi(SubUnicode: string):string; //将unicode码转换为汉

var a:array[0..500] of char;

s1,s2:char;

substr1,substr2,s:string;

str:string;

i:integer;

begin

if length(SubUnicode) mod 4 = 0 then

Begin

str:='';

for i:=1 to length(SubUnicode) div 4 do

Begin

s:='';

substr1:=copy(SubUnicode,i*4-3,2);

substr2:=copy(SubUnicode,i*4-1,2);

s1:=chr(hextoint(substr1));

s2:=chr(hextoint(substr2));

s:=s+s2+s1;

strpcopy(a,s);

str:=str+copy(widechartostring(@(a[0])),1,2);

end;

result:=str;

end;

end;function HexToInt(hex:string):cardinal;

const cHex='ABCDEF';

var mult,i,loop:integer;

begin

result:=0;

mult:=1;

for loop:=length(hex)downto 1 do

begin

i:=pos(hex[loop],cHex)-1;

if (i<0) then i:=0;

inc(result,(i*mult));

mult:=mult*16;

end;

end; 本文地址: /delphi/?tid=360015 来

自:/

2024年6月13日发(作者:党澎)

DELPhi 7 ASCII 字符转string

标题:DELPhi 7 ASCII 字符转string 标题:

var

monid, Goods:PDWORD;

i,pi:DWord;

goodsName:PWideChar;

strName:string;begin

;

for i:=1 to $100 do

begin Goods:=Pointer($11C1908+$9400+I*4);

pi:=Goods^;

if pi>0 then begin

GoodsName:=Pointer(Goods^+4);

Goods:=Pointer(Goods^+$4);

GoodsName:=Pointer(Goods^);

strName:=WideCharTostring(GoodsName); //宽字符转string 这里的

UNICODE的字符数据 *******

if strName='11' then continue;

(strName);

end;

end;

上面的是用UNICODE的字符串 GoodsName

我想换成ASCII的字符串 来显示出DWord里面的汉字,知道 PWideChar;这个指向

widechar的指针 不知道是这个指针不对还是别的鞋错了,我其他都没错,就是不会转换

成文本文字,困了我几天,头疼 这是我以前写的读取二代身份证里信息用到的,不知道对

你有帮助不?见笑了。

function UnicodeToAnsi(SubUnicode: string):string; //将unicode码转换为汉

var a:array[0..500] of char;

s1,s2:char;

substr1,substr2,s:string;

str:string;

i:integer;

begin

if length(SubUnicode) mod 4 = 0 then

Begin

str:='';

for i:=1 to length(SubUnicode) div 4 do

Begin

s:='';

substr1:=copy(SubUnicode,i*4-3,2);

substr2:=copy(SubUnicode,i*4-1,2);

s1:=chr(hextoint(substr1));

s2:=chr(hextoint(substr2));

s:=s+s2+s1;

strpcopy(a,s);

str:=str+copy(widechartostring(@(a[0])),1,2);

end;

result:=str;

end;

end;function HexToInt(hex:string):cardinal;

const cHex='ABCDEF';

var mult,i,loop:integer;

begin

result:=0;

mult:=1;

for loop:=length(hex)downto 1 do

begin

i:=pos(hex[loop],cHex)-1;

if (i<0) then i:=0;

inc(result,(i*mult));

mult:=mult*16;

end;

end; 本文地址: /delphi/?tid=360015 来

自:/

发布评论

评论列表 (0)

  1. 暂无评论