function StrToHexStr(const S: string): string;
//字符串转换成16进制字符串
var
I: Integer;
begin
for I := 1 to Length(S) do
begin
if I = 1 then
Result := IntToHex(Ord(S[1]), 4)
else Result := Result + IntToHex(Ord(S[I]), 4);
end;
end;
上面的函数可以对英文和数字进行转化,但是对于中文字符,转化的就不正常,哪位修改下,给我个完整的,谢谢诶!如中文delphi 转化 4E2D658700640065006C007000680069
//字符串转换成16进制字符串
var
I: Integer;
begin
for I := 1 to Length(S) do
begin
if I = 1 then
Result := IntToHex(Ord(S[1]), 4)
else Result := Result + IntToHex(Ord(S[I]), 4);
end;
end;
上面的函数可以对英文和数字进行转化,但是对于中文字符,转化的就不正常,哪位修改下,给我个完整的,谢谢诶!如中文delphi 转化 4E2D658700640065006C007000680069
解决方案 »
- 一个listbox的简单问题
- 为何实施了远程协助功能后对方的壁纸会不见了?
- 如何临时存储一串数据
- 如果制作一个dll,让ie启动时它也随之启动,ie关闭时它也随之关闭,ie打开新网页时,它能得到新打开网页的事件并得到新网页的url?
- 原来的程序中type library 中的一些名称可以同名,而改写后怎么却不能同名了
- 大家帮我想想思路(顶有分)
- 弱问,如何修改记录
- Query1在执行时有错,想把它Showmessage();但转换不来类型,帮帮忙!
- 全部奉献了大家帮忙
- 简单问题!!!!!!!!!!!!!!!!!!!!!!
- DELPHI 指定打印机打印
- 刚刚在新浪看到的,笑喷了……拿来给大家分享
procedure TForm1.Button1Click(Sender: TObject);
const
s:pwidechar='中文delphi';
var
buff:array[0..100] of char;
begin
fillchar(buff,100,0);
BinToHex(pchar(s),buff,length(s)*2); //这个可以直接转
ShowMessage(string(buff));end;
function strtohex(str:string):string;
var i:integer;
begin
for i:=1 to length(str) do
begin
result:=result+inttohex(ord(str[i]),2);
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
showmessage(strtohex('中国'));
end;
程序如下。
public string Encode(string strEncode)
{
string strReturn = "";// 存储转换后的编码
foreach (short shortx in strEncode.ToCharArray())
{
strReturn += shortx.ToString("X4");
}
return strReturn;
}
你的程序也是这个原因